gpt4 book ai didi

android - AsyncTask 与新线程

转载 作者:行者123 更新时间:2023-11-29 02:34:46 25 4
gpt4 key购买 nike

我有一个使用网络服务的应用程序。

Web 服务的操作可能需要几秒钟,当我在谷歌中搜索具有此概念的处理程序时,我看到我可以使用 AsyncTask 或新线程。

我解释了我的基本 Action 应用程序。在 MainActivity 中,我有两个字段用户名和密码。MainActivity 从用户那里获取输入并将这些输入发送到 ActionClass 中并在那里我与 WSClass 一起使用。在函数类中,我发送到 Web 服务并等待响应。

  1. 当用户等待我的时,我如何创建白色圆圈 Action 应用程序?
  2. 最好的选择是什么?(AsyncTask/新线程)

主要 Activity :

public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
ActionClass = ActionClass.getInstans();
ActionClass.setContext(this);
ActionClass.login("username","password");// in the future in put a PlainText for username and password.
if(isLogin == true)
{
//here i move to another activity....
}
}
}

public class ActionClass
{
public void setContext(Context context) {
if (this.context == null) {
this.context = context;
WSClass = new WSClass();
}
}
public static ActionClass getInstans() {
if (instans == null) {
synchronized (ActionClass.class) {
if (instans == null)
instans = new ActionClass();
}
}

return instans;
}

public boolean login(String username, String password) {
{
WSClass.loginWs(url,username, password, object.class);
}
}

public class WSClass
{
public <T> T login(String URL,String username,String password,
Class<T> output)
{

//...Do Something...
}
}

更新问题WsClass 与获取并返回 <T> 的通用函数一起使用变量。

在我检查了 AsyncTask 之后...AsyncTask 可以用作通用的,如果不是,我该如何解决这个问题?

上面更新了 WSClass 中的函数。

谢谢,

塔尔

最佳答案

在我看来,使用 Async Task 更好。

异步任务是从处理程序和线程创建的,用于处理异步目的。对于处理执行时间短(几秒钟)并且后台工作的某些任务,始终使用异步任务。异步任务像独立线程一样执行,无需解释 UI 线程。

AsyncTask可以正确和轻松地使用 UI 线程。此类允许您执行后台操作并在 UI 线程上发布结果,而无需操作线程和/或处理程序。

关于android - AsyncTask 与新线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47670000/

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