Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序访问web服务_Android - Fatal编程技术网

Android应用程序访问web服务

Android应用程序访问web服务,android,Android,我需要创建一个Android应用程序,我不确定哪种方法更好,我的意思是我应该使用WebView还是创建一个应用程序 我需要实现现有的应用程序,这是一个ASP.NET应用程序,主要包括一个登录屏幕,一旦用户登录,他将看到一个列表,可能是一个基于gridview选择的gridview中的项目。然后将向他显示有关所选项目的更详细信息 上面是一个web应用程序,我需要在Android手机上将其作为应用程序实现 此外,还需要使用GPS,根据GPS值选择部门,并使用相机拍照并将其保存到服务器上 我想到的一个

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

我需要实现现有的应用程序,这是一个ASP.NET应用程序,主要包括一个登录屏幕,一旦用户登录,他将看到一个列表,可能是一个基于gridview选择的gridview中的项目。然后将向他显示有关所选项目的更详细信息

上面是一个web应用程序,我需要在Android手机上将其作为应用程序实现

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

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

但我对安卓开发非常陌生,真的不知道该怎么做。有没有更好的解决办法

有谁能帮我解决这个问题吗?

优点:

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

  • 稍后,您可能需要iPhone、黑莓应用程序
与通常返回XML的.Net web服务不同,您可以使用带有JSON响应的HTTP调用(我在Asp.Net MVC中看到过)。这样你就可以在android应用程序上轻松解析数据

添加:

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")

您可以使用两种方法:

  • 构建一个Android应用程序
  • 使用W3C地理定位来访问GPS坐标,构建一个webapp。(见附件)
  • 如果您选择选项(1),您将希望将.NET服务公开为一个简单的RESTAPI(使用Vikas建议的JSON使其更简单!)


    Android已经提供了访问和解析此类REST API所需的所有组件,特别是Apache HTTP和JSON包,一旦你有了基本的请求/解析框架,就可以很快地对其进行迭代。

    我认为更好的方法是使用本机android sdk并制作应用程序,在其中你将获得所有相关信息。如果你有任何问题,请告诉我,我会随时为你提供帮助。嗨,Vikas,谢谢你的回复。你能给我举一个带有JSON响应的HTTP调用的例子吗?我如何在Andriod应用程序中进行解析?谢谢你,关于那件事的博客已经不见了。。谢谢你,维卡斯。我会用这些。