【问题标题】:Android app accesses web serviceAndroid 应用访问网络服务
【发布时间】:2012-02-20 21:39:42
【问题描述】:

我需要创建一个 Android 应用程序,我不确定哪种方式更好,我的意思是我应该使用 WebView 还是创建一个应用程序。

我需要实现现有的应用程序,这是一个主要由登录屏幕组成的 ASP.NET 应用程序,一旦用户登录,他将根据从 gridview 中的选择看到一个可能在 gridview 中的项目列表。然后,他将看到有关所选项目的更多详细信息。

以上是一个网络应用程序,我需要将其实现为Android手机上的应用程序。

还需要使用 GPS,根据 GPS 值选择部门,还需要使用相机拍照并将其保存到服务器上。

我想到的一个解决方案是公开 .NET Web 服务,然后在 android 手机中访问它!

但我对 Android 开发非常陌生,真的不知道如何去做。有没有更好的解决办法?

谁能帮我解决这个问题?

【问题讨论】:

  • 我认为更好的方法是使用原生 android sdk 并制作应用程序,您将在其中获取所有相关信息。如果您有任何问题,请告诉我,随时为您提供帮助。

标签: android


【解决方案1】:

优点:

  • Android 应用可能比 Web 应用运行得更快(但仍取决于网页复杂性)
  • 在这个社区和 Android 开发者网站的帮助下,您可以在 2-3 周内完成您的应用。
  • 正如您所说,图片捕捉/上传和 GPS 等是智能手机应用程序的优势。

缺点:

  • 以后,你可能需要 iPhone、Blackberry 应用程序!

您可以使用 JSON 响应进行 HTTP 调用,而不是通常返回 XML 的 .Net Web 服务(我在 Asp.net MVC 中看到过)。这样你就可以轻松解析android app上的数据了。

添加:

HTTP 调用:

HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet(getString(R.string.WebServiceURL) + "/cfc/iphonewebservice.cfc?returnformat=json&method=validateUserLogin&username=" + URLEncoder.encode(sUserName) + "&password=" + URLEncoder.encode(sPassword,"UTF-8"));
HttpResponse response = httpClient.execute(httpGet, localContext);

BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
String sResponse = reader.readLine();
JSONObject JResponse = new JSONObject(sResponse);
String sMessage = JResponse.getString("MESSAGE");
int success = JResponse.getInt("SUCCESS")

【讨论】:

  • 您好 Vikas,感谢您的回复。您能否指出一个带有 JSON 响应的 HTTP 调用示例以及如何在 Andriod 应用程序中进行解析?谢谢
  • 关于那个的博客已经丢失..onesecond
  • 谢谢维卡斯。将使用那些。
【解决方案2】:

有两种方法可供您使用:

  1. 构建 Android 应用。
  2. 构建一个 web 应用程序,使用 W3C 地理定位来访问 GPS 坐标。 (见geo-location-javascript

如果您选择选项 (1),您将希望将您的 .NET 服务公开为一个简单的 REST API(使用 Vikas 建议的 JSON 以使其更简单!)

Android 已经配备了访问和解析此类 REST API 所需的所有组件,特别是 Apache HTTP 和 JSON 包,一旦您拥有了基本的请求/解析框架,就可以相当快地进行迭代。

【讨论】:

    猜你喜欢
    • 2013-03-26
    • 1970-01-01
    • 2012-06-28
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多