Java 这个代码有什么问题?每当我尝试单击按钮时,我的应用程序就会停止响应?这是一个post请求代码
这是我的邮政申请代码。请帮我调试这个。谢谢我可以运行我的应用程序,但它不会显示错误Java 这个代码有什么问题?每当我尝试单击按钮时,我的应用程序就会停止响应?这是一个post请求代码,java,android,post,Java,Android,Post,这是我的邮政申请代码。请帮我调试这个。谢谢我可以运行我的应用程序,但它不会显示错误 public void ibutton4Click() { { HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost("10.0.0.1/cgi-bin/ForwardPress.cgi"); t
public void ibutton4Click()
{
{
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("10.0.0.1/cgi-bin/ForwardPress.cgi");
try {
HttpResponse response = client.execute(post);
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
startActivity(new Intent(this,MainActivity.class));
}
}
}
有关NetworkOnMainThread错误及其原因的详细信息,
1.
2.
3. 要在单独的线程中获取数据 1.编写自定义
Asynctasks
:或 2.使用AsyncHttpClient:
在这里,您可以获得处理响应的
onSuccess
和onFailure
方法
选择2。如果您只想获取数据而不做任何其他事情,并对其进行处理或保存,则更好。同样,您需要首先解析响应 您正在主UI线程上执行一项长期任务。你必须在后台做这些事情,这样UI才能在后台继续工作?比如说把它放在一个异步任务中?我不太熟悉Android的具体实现,但是是的,乍一看,它和你想要的完全一样。AsyncTask允许正确且轻松地使用UI线程。此类允许在UI线程上执行后台操作和发布结果,而无需操纵线程和/或处理程序。