[英]How can I pass data from service/thread class to the main activity?
我在名為"sum"
的主要活動中創建了變量,並在服務的線程中創建了將變量加1的循環,如下所示:
public void run() {
for(int i=0;i<50000000;i++) {
num++;
}
現在,我希望每次將變量"num"
增加1時,它將"sum"
的值更新為"num"
的值。
但是我真的不知道該怎么做。
我希望這將是實時更新,而不是在線程結束或服務將被銷毀之后。
您必須使活動綁定到服務並為其定義接口。 但這一定是一項服務嗎? 也許AsyncTask可以是更簡單的解決方案?
您將通過在服務線程中廣播意圖,並在主線程中注冊該意圖類型的接收者來實現這一點。 為此,您將需要三個組件:
BroadcastReceiver
的類,並在BroadcastReceiver
意圖時執行其OnReceive
方法。 我可以重新輸入代碼,但是在此鏈接上有關於如何使用該代碼的說明。 您對最后三張幻燈片感興趣:
http://www.slideshare.net/CodeAndroid/android-intent-intent-filter-broadcast-receivers
另外,請查看以下內容: http : //developer.android.com/reference/android/content/BroadcastReceiver.html http://developer.android.com/reference/android/content/IntentFilter.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.