我应该使用 AsyncTask 还是 IntentService 每天更新 URL 一次日期?
Should I use AsyncTask or IntentService to update Dates by URL Once in a day?
在我的应用程序中,我使用 AsyncTask
从 URL 获取数据。通过这个 URL,我每天都会用一些新数据更新我的应用程序。
但是,我想知道 AsyncTask
或 IntentService
哪个最适合我 URL 更新我的数据并每天下载一次?
假设您有 intentService UP 并且 运行
每天调用一次您的 intentService
Intent myIntent = new Intent(context, MyServiceReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 60); // first time
long frequency= 86400000 * 1000; // every 24 hours
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), frequency, pendingIntent);
检查此站点以比较服务、线程、IntentServices 和 AsyncTasks。
但我个人认为您应该使用 AlarmManager。
在我的应用程序中,我使用 AsyncTask
从 URL 获取数据。通过这个 URL,我每天都会用一些新数据更新我的应用程序。
但是,我想知道 AsyncTask
或 IntentService
哪个最适合我 URL 更新我的数据并每天下载一次?
假设您有 intentService UP 并且 运行
每天调用一次您的 intentService
Intent myIntent = new Intent(context, MyServiceReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 60); // first time
long frequency= 86400000 * 1000; // every 24 hours
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), frequency, pendingIntent);
检查此站点以比较服务、线程、IntentServices 和 AsyncTasks。
但我个人认为您应该使用 AlarmManager。