0
我有一個已綁定到該服務的活動。 當我開始活動時,它綁定到服務並從服務中的變量獲取值。所以我可以在我的活動中顯示價值。從活動中的綁定服務永久獲取變量值
現在我想永久讀取服務中變量的值。不僅一次,我的活動的onCreate被調用。 我該怎麼做? 這是什麼正確的方法?
我有一個已綁定到該服務的活動。 當我開始活動時,它綁定到服務並從服務中的變量獲取值。所以我可以在我的活動中顯示價值。從活動中的綁定服務永久獲取變量值
現在我想永久讀取服務中變量的值。不僅一次,我的活動的onCreate被調用。 我該怎麼做? 這是什麼正確的方法?
有幾種方法可以做到這一點。一個比較簡單的方法是使用Handler
觸發本身定期
public class MyActivity extends Activity {
private static final int UPDATE_RATE_IN_MS = 500;
private static final int MSG_UPDATE = 0;
private Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
doUpdate();
mHandler.sendEmptyMessageDelayed(MSG_UPDATE, UPDATE_RATE_IN_MS);
}
};
}
@Override
protected void onStart() {
super.onStart();
mHandler.sendEmptyMessageDelayed(MSG_UPDATE, UPDATE_RATE_IN_MS);
}
@Override
protected void onStop() {
super.onStop();
mHandler.removeMessages(MSG_UPDATE);
}
private void doUpdate() {
// do whatever you need here.
}
}
你會把值的更新中doUpdate()
在這個例子中。
太棒了!奇蹟般有效。謝謝 :-) – venni 2012-08-13 22:03:11