我想在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