AsyncTask was deprecated 已廢棄(Java 篇)替代解決取代方式

前言

AsyncTask 在 Android 11 (API level 30) 已經被廢棄 (deprecated) 了,官方建議如果有類似非同步邏輯程式執行需求,Java 開發者可以改採用,java.util.concurrent ; Kotlin 開發者可以改採用 Kotlin concurrency utilities 來取代 AsyncTask 方法。

HKT 講師,相關課程

HKT 講師,相關課程:
🎬 從零開始學 Swift 程式設計 免費講義
https://bit.ly/3ekjsEP
🎬 從零開始學 SwiftUI 程式設計 免費講義
https://bit.ly/3xCbUUp
🎬Android 入門開發實戰:口罩地圖(Kotlin) 免費講義
https://bit.ly/2KKZcju
🎬從零開始學 Dart 程式設計 免費講義
https://bit.ly/2OJW6hl
🎬 Flutter 程式設計入門實戰 免費講義
https://bit.ly/37L47Ij
🎬從零開始學 Java 程式設計 免費講義
https://bit.ly/2WlCn6y
🎬 從零開始學 kotlin 程式設計 免費講義
https://bit.ly/2Kx7GrM

替代解決方式

隨著 Kotlin 蓬勃發展,漸漸可以看到 Java 學習資源漸漸變少了,所以這篇 KT 不討論 Kotlin 如何解決,同學有需要的話,可以自行參考官方,而在網路也不難找到 Kotlin 取代 AsyncTask 方法,而這篇就跟大家介紹 java.util.concurrent 取代 AsyncTask 方法。

ExecutorService executor = Executors.newSingleThreadExecutor();
Handler handler = new Handler(Looper.getMainLooper());

executor.execute(new Runnable() {
    @Override
    public void run() {

        //背景處理邏輯程式區塊

        handler.post(new Runnable() {
            @Override
            public void run() {
                //處理 UI 邏輯程式區塊
            }
        });
    }
});

這篇只是簡單的敲門磚,想要了解更多 java.util.concurrent 內容可以搜尋「ExecutorService」、「ScheduledExecutorService」。

參考資料

AsyncTask
https://developer.android.com/reference/android/os/AsyncTask

AsyncTask Android example
https://stackoverflow.com/questions/9671546/asynctask-android-example
題外話:裡面有一張圖看起來像鬼畫符,但仔細看畫的很棒。留給大家追憶:

java.util.concurrent
https://developer.android.com/reference/java/util/concurrent/package-summary

Kotlin concurrency utilities
https://developer.android.com/topic/libraries/architecture/coroutines

Android AsyncTask API deprecating in Android 11.What are the alternatives?
https://stackoverflow.com/questions/58767733/android-asynctask-api-deprecating-in-android-11-what-are-the-alternatives

Android AsyncTask is Deprecated: Here’s another way
https://www.simplifiedcoding.net/android-asynctask/

贊助我們

創作不易,知識無價,免費線上教學就像顆種子,希望藉由您的支持與贊助,能夠無後顧之憂的日漸茁壯,努力前行堅持下去。不論捐贈金額的大小,我們都由衷的感謝每位贊助者,都是我們推廣知識、開放共享知識最大的動力!

您的捐贈將用於:請作者喝杯咖啡,鼓勵繼續創作,持續上傳教學影片與更多新技術文章。

Line Pay 打賞


(由 Line Pay 支付平台,提供轉帳服務)

街口打賞


(由街口行動支付平台,提供轉帳服務)

超商代碼繳費打賞

(由綠界科技支付平台,提供超商繳費代碼)

相關連結

HKT 線上教室 每週六日 更新影片
▶ YouTube 頻道
https://goo.gl/3f2pJi
▶ KT 線上教室 臉書粉絲團
https://goo.gl/27H9Li
▶ Udemy 頻道
http://bit.ly/2ZNdnrt
▶ 贊助我們
https://goo.gl/FiKXAu

AndroidStudio / Xcode
Java / Kotlin / Dart / Flutter
APP / AppDevloper
Android / AndroidDevloper
iOS / iOSDeveloper / Swift / SwiftUI
Programer

這個網誌中的熱門文章

16天記下7000單字

2023 最新入門零基礎 Kotlin教學【從零開始學 Kotlin 程式設計】Kotlin 教學課程目錄 (Android Kotlin, IntelliJ IDEA, Android Studio, Android APP 開發教學)

2022 最新入門零基礎 Flutter教學 【Flutter 程式設計入門實戰 30 天】Flutter 教學課程目錄 (IntelliJ IDEA 開發教學)

nano 文字編輯器

【從零開始學 Flutter 程式設計】SharedPreferences 設定檔資料存取