我已在主要活動創建的變量稱爲"sum"
和服務的主題,我創建循環,增加變量由1這樣的:如何將數據從服務/線程類傳遞到主要活動?
public void run() {
for(int i=0;i<50000000;i++) {
num++;
}
現在我想是每一個變量"num"
增加時間1,它會將"sum"
的值更新爲值"num"
。
但我真的不知道該怎麼做。
我希望它是一個實時更新,而不是在線程結束或服務將被銷燬後。
我已在主要活動創建的變量稱爲"sum"
和服務的主題,我創建循環,增加變量由1這樣的:如何將數據從服務/線程類傳遞到主要活動?
public void run() {
for(int i=0;i<50000000;i++) {
num++;
}
現在我想是每一個變量"num"
增加時間1,它會將"sum"
的值更新爲值"num"
。
但我真的不知道該怎麼做。
我希望它是一個實時更新,而不是在線程結束或服務將被銷燬後。
您必須將活動綁定到服務併爲其定義接口。 但它是否必須是服務?也許一個AsyncTask可以是一個更簡單的解決方案?
您將通過在您的服務線程中廣播一個意圖,並在您的主線程中爲該類型的意向註冊一個接收器來實現該目標。對於您將需要三個組成部分:
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