android - AsyncTask 已弃用?使用什么方法代替 onPreExecute 和 onPostExecute?

标签 android android-studio android-asynctask asynctaskloader

在我的旧项目中,我使用了 AsyncTask,但它已被弃用,所以我用什么方法代替了这个? 如果我们使用线程,则在 AsyncTask 中具有 onbackground、onPreExecute 和 onPostExecute 覆盖方法,这些部分在线程中调用。有没有替代方法。能给我解决办法吗?

Java 代码:

      public class getDetailsfromWeb extends AsyncTask<Void, Void, String> {

      @Override
      protected String doInBackground(Void... params) {

        if (paymentSync == null)

            paymentSync = new ReceivePaymentSync(getActivity());

        allCreditCardModel = new AllCreditCardModel();

        allCreditCardModel = paymentSync.getGetCreditCardById(CrediCardId);

        handler.post(allCreditRunnable);

        return null;
    }

    /**
     * @param string
     */
    public void execute(String string) {

        // TODO Auto-generated method stub
    }

    protected void onPreExecute() {

        showProgress();

    }

    @Override
    protected void onPostExecute(String result) {

        progress.dismiss();

    }
}

最佳答案

只需使用线程。

onPreExecute 代码进入构造函数。

doInBackground 代码进入 run()。

onPostExecute 代码在 runOnUiThread 的 runnable 运行中运行,您在 run() 结束时调用它。

关于android - AsyncTask 已弃用?使用什么方法代替 onPreExecute 和 onPostExecute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64785984/

相关文章:

android-studio - 切换时如何在 Kotlins 中使用多行?

android - 当我滚动 gridview 时图像发生变化

java - 来自第二个 Activity 的 Android Asynctask

javascript - Cordova Compass API 给出错误代码 3

android - 如何防止 Android 应用程序在外部应用程序中打开文件?

android - 构建命令失败。执行过程出错

Android studio 启动失败 :Fatal error initializing 'com. intellij.util.net.ssl.CertificateManager

Android Studio文件映射问题,无法识别文件

android - 由 : android. database.sqlite.SQLiteException : no such table while compiling: SELECT FROM. 引起。

android - 使用对象而不是字符串处理 AsyncTask