我想在60秒後定期調用特定的代碼以獲取應用程序中的更新數據。我想知道我應該把代碼放在主Android活動中。任何幫助將不勝感激 感謝Android獲取時間更新
0
A
回答
1
您可以使用Timer
類Java的util
包。它將允許您再次定期執行特定代碼&。看看每5秒執行一次的example。
0
import android.os.Handler;
public class ExecuteEveryMinuteExample {
private static final int DELAY_IN_MILLIS = 60000;
private final Handler handler;
private final Runnable task;
public ExecuteEveryMinuteExample(Handler handler, Runnable runnable) {
this.handler = handler;
this.task = new Task(runnable);
}
public void start() {
handler.postDelayed(task, DELAY_IN_MILLIS);
}
public void stop() {
handler.removeCallbacks(task);
}
private class Task implements Runnable {
private Runnable task;
private Task(Runnable runnable) {
this.task = runnable;
}
@Override
public void run() {
task.run();
start();
}
}
}
這種「定時」與活動相關的生命週期,記得在Activity#onPause
停止它在Activity#onDestroy
或更好。還可以結賬Timer,ScheduledThreadPoolExecutor和TimerTask它們可能更適合您的需求。
0
在android中使用服務和廣播接收器。
// Restart service every 30 seconds
private static final long REPEAT_TIME = 1000 * 30;
@Override
public void onReceive(Context context, Intent intent) {
AlarmManager service = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, MyStartServiceReceiver.class);
PendingIntent pending = PendingIntent.getBroadcast(context, 0, i,
PendingIntent.FLAG_CANCEL_CURRENT);
Calendar cal = Calendar.getInstance();
// Start 30 seconds after boot completed
cal.add(Calendar.SECOND, 30);
//
// Fetch every 30 seconds
// InexactRepeating allows Android to optimize the energy consumption
service.setInexactRepeating(AlarmManager.RTC_WAKEUP,
cal.getTimeInMillis(), REPEAT_TIME, pending);
請參閱本網站以獲取更多信息。
http://www.vogella.com/articles/AndroidServices/article.html
+0
在我看來,使用服務更新時間視圖是矯枉過正。 – delor 2013-03-12 08:28:24
相關問題
- 1. Android:獲取時間
- 2. Android:獲取時間
- 3. 插入/更新後獲取時間戳
- 4. Android網絡位置(獲取更新的時間)
- 5. 如何獲取位置在Android中更新的時間?
- 6. Android - 時間不更新
- 7. AlarmManager(Android)的更新時間
- 8. 如何更新Android時間
- 9. Android獲取時間格式
- 10. 更新GridView時獲取DataItem
- 11. 根據時間間隔獲取位置更新或位移
- 12. 在位置更新期間獲取時間值的問題
- 13. 從紅移表獲取最新更新時間戳
- 14. 如何在Android中獲取當前時間戳,而不需要像更新時鐘那樣更新
- 15. Android - 在2小時後獲取時間
- 16. 如何從android手機的時鐘獲取「實時」更新?
- 17. 在Android上獲取MYSQL更新通知
- 18. 更新imageView所有的時間,Android
- 19. Android長時間更新活動
- 20. 如何更新Android通知的時間
- 21. 在android中更新相對時間
- 22. 停止在Android的更新時間
- 23. 獲得更新的時間在android系統
- 24. 在mysql中獲取行創建/更新時間戳/日期
- 25. PHP:獲取比時間更新的文件的內容
- 26. 已更新如何在JavaScript中獲取UTC時間戳?
- 27. 獲取自facebook上的時間戳以來的更新數
- 28. 在地址簿中獲取聯繫人更新/創建時間
- 29. SQL Server - 獲取表的最後更新時間
- 30. 選擇在同一時間更新和獲取顯示
創建一個線程,並調用的AsyncTask在每一分鐘 – Pragnani 2013-03-12 07:03:35
謝謝,你可以分享的線程代碼樣本和我應該在哪裏放置的代碼在android活動? – CodeAddiction 2013-03-12 07:05:11
檢查此鏈接http://android-developers.blogspot.kr/2007/11/stitch-in-time.html – Pragnani 2013-03-12 07:14:17