gpt4 book ai didi

java - 在新线程中创建 Web 服务请求

转载 作者:行者123 更新时间:2023-12-01 05:23:01 24 4
gpt4 key购买 nike

我正在使用 ksoap2-Android 来生成和解析我的请求。然而,如果我想使用它,我必须异步进行。所以我选择为此创建一个新线程。

它看起来像这样,我没有发布我所有的逻辑请求和解析,因为在这种情况下它并不重要。

  new Thread(new Runnable() {
public void run() {

String answer = WebServiceRequests.About();

try{

}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}).start();

所以我在answer字符串中收到请求,但现在如何更新我的GUI?当我尝试时,出现异常,无法在该线程中更新。

请发布您的解决方案。如果您使用 Handler 或 AsyncTask 甚至 make 来处理我的示例。

谢谢。

最佳答案

AsnycTask 始终是第一个推荐,如果您以前没有这样做过,请阅读此 official dev guide ,示例代码:

private class MyAsyncTask extends AsyncTask<Void, Void, String> {
protected String doInBackground(Void... params) {
String answer = WebServiceRequests.About();
return answer;
}

protected void onPostExecute(String answer) {
// Update UI.
showDialog("Answer " + answer);
}

}

启动异步任务:

new MyAsyncTask().execute();

一旦后台线程(又称为 doInBackground)完成,就保证在将来的某个时刻在 UI 线程上调用 onPostExecute 方法。底层框架为我们处理所有脏活。

希望这有帮助。

关于java - 在新线程中创建 Web 服务请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10041916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com