我正在开发一个必须从第三方服务器发送和接收信息的Android应用程序。我根本没有这方面的经验,所以如果我先给出太多/太少/不正确的信息,请耐心等待。
为发送信息而提供的API格式为
https://methodurl.com/username=user&password=pass&key=key&info=infotosend
当我将此URL放入我的桌面浏览器时,它会返回一个字符串,我也试图获取该字符串。至少,我假设它返回的是一个字符串,因为如果我查看页面源,只有一个字符串,例如“200 OK”或“401 Unauthorized”。
我正在使用的代码是我可以从网上收集到的我应该使用的代码。不幸的是,就我所知,我正在编写代码来做一些与我想要的完全不同的事情。我之前从未编写过与服务器交互的代码,所以这对我来说都是新的。
这是我的代码:
TextView urlView = (TextView)findViewById(R.id.url_view);
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(siteToSubmit);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
try {
String serverResponse = client.execute(request, responseHandler);
urlView.setText(serverResponse);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
eclipse中的Logcat(当应用程序在模拟器上运行时)是
java.net.UnknownHostException
我理解代码工作的方式是我正在创建一个将在url上执行的客户端(就像我在浏览器的URL栏中输入时会发生的那样),请求该客户端执行,以及从服务器接收响应的处理程序,该响应设置为字符串。然后我尝试将该字符串设置为TextView中的文本以验证我得到了正确的响应。现在,我只是得到了日志错误,而urlView没有改变。有什么想法吗?我能正确理解这个过程吗?
谢谢!
答案 0 :(得分:0)
将uses-permission android.permission.INTERNET
添加到清单文件中。