簡體   English   中英

我如何在Android上創建在后台運行的線程

[英]How can i create a Thread that running on background on Android

我在一個活動中有一個帶有開放套接字連接的線程,我喜歡使用全局線程,以便可以從其他活動中的線程獲取數據。 有點像在后台運行...

有人為我提供解決方案或示例嗎?

感謝你。

您正在尋找服務

或嘗試此代碼

void runInBackground() {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    // DO your work here
                    // get the data
                    if (activity_is_not_in_background) {
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                //uddate UI
                            }
                        });
                    }
                    runInBackground();
                }
            });
        }

第三種使用異步任務的方法- 了解AsyncTask

如果您希望多個活動都可以訪問該線程,那么我將結合Vaibs_cool的運行線程示例(它只是一個普通的線程,沒有關於Android的特定信息),然后...

擴展應用程序 (在清單中為其輸入一個條目),然后將該線程放入其中。

這樣,您的所有活動都可以與之交談。

您有兩種選擇:

如果您想打開套接字並使其在活動關閉后仍打開,請使用Service

另一方面,如果要在Activity運行期間打開套接字,並在Activity關閉時關閉,請使用AsyncTask

您可以在此處找到如何使用AsyncTask示例

從文檔中:

網絡操作可能會涉及不可預測的延遲。 為防止這種情況導致不良的用戶體驗,請始終在與UI分開的線程上執行網絡操作。 AsyncTask類提供了從UI線程觸發新任務的最簡單方法之一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM