Android,从服务器发送和接收信息

时间:2012-02-20 01:34:03

标签: android

我正在开发一个必须从第三方服务器发送和接收信息的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没有改变。有什么想法吗?我能正确理解这个过程吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

将uses-permission android.permission.INTERNET添加到清单文件中。