我想用 Android 访问一个参数化的 url。它所要做的就是“加载”页面,以便它执行它应该执行的操作(使用给定的参数更新数据库)。
我在加载 url 时遇到了问题,所以我观看了有关常规 HttpClient Activity 的视频——只是等待响应并收集该信息。我认为它仍然会加载页面,因此也会让该页面执行。我什至无法正确运行页面或收集响应。
这是我使用的代码:
String url = "http://www.removed.com?param1="+param1+"¶m2="+param2;
try{
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
InputStream webs = entity.getContent();
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(webs, "iso-8859-1"), 8 );
test.setText(reader.readLine());
webs.close();
}catch(Exception e) {
Log.e("Error in conversion: ", e.toString());
}
}catch(Exception e) {
Log.e("Error in connection: ", e.toString());
}
请让我知道我可以做些什么来执行页面和更新数据库。如果我将参数手动输入浏览器,它就可以工作。
最佳答案
你没有发布你在哪里运行这个或者错误是什么,但首先想到的两件事是:
- 您是否在 list 中设置了 INTERNET 权限?
- 如果这是 Honeycomb,它是否在单独的线程中运行? - 从 3.0 开始,您不能在主显示线程中运行 HTTP 请求。
关于Android HttpClient 仅使用 get 请求将数据发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10764407/