在哪里扩展 AsyncTask?

发布于 2025-01-03 21:43:59 字数 195 浏览 0 评论 0原文

我有一个由以下元素组成的登录系统:

LoginActivity 使用 LoginController 使用 RestClient 通过 Execute() 调用 Web 服务。我希望异步执行对 Web 服务的调用,但我还需要一个对话框来在调用时通知用户相关信息。执行不会返回任何内容。

我将如何去做这件事?我在哪里使用 AsyncTask ?

I have a login system consisting of the following elements:

LoginActivity uses LoginController uses RestClient to call a web service with Execute(). I want the call to the web service to be performed asynchronously but I also need a dialog box to notify the user of relevant information while the call is being made. Execute does not return anything.

How will I go about doing this ? Where do I use AsyncTask ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温柔嚣张 2025-01-10 21:43:59

AsyncTask 有一些方法可以帮助您完成此任务。

扩展 AsyncTask:

public class MyTask extends AsyncTask<Object, Void, Void>

  @Override
  protected void onPreExecute() {
    // show progress dialog
  }

  @Overrride
  protected Void doInBackground(Object... params) {
    HttpUriRequest req = (HttpUriRequest) params[0];
    String myString = (String) params[1];

    // connect
    return null;
  }

  @Override
  protected void onPostExecute(Void result) {
    // hide dialog
  }
}

要使用参数执行此任务,请尝试以下操作:

myTask.execute(request, "aString");

其中 request 是 HttpUriRequest 类型的对象。请记住参数的顺序很重要。

如果您想在服务连接时更新状态,可以使用 Rasel 所说的方法:

onProgressUpdate() {
  // Update view in progress dialog
}

AsyncTask has a few methods that will help you with this.

Extend the AsyncTask:

public class MyTask extends AsyncTask<Object, Void, Void>

  @Override
  protected void onPreExecute() {
    // show progress dialog
  }

  @Overrride
  protected Void doInBackground(Object... params) {
    HttpUriRequest req = (HttpUriRequest) params[0];
    String myString = (String) params[1];

    // connect
    return null;
  }

  @Override
  protected void onPostExecute(Void result) {
    // hide dialog
  }
}

To execute this with parameters, try this:

myTask.execute(request, "aString");

Where request is an object of type HttpUriRequest. Remember the order of the parameters matter.

If you want to update the status while the service is connecting you can use this method as Rasel said:

onProgressUpdate() {
  // Update view in progress dialog
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文