残りの呼び出しを使用してサーバーからデータを取得し、それをビューに追加するアプリに取り組んでいます。すべての初期データを正しく取得します。私はそれを行うために AsyncTask を使用します。
ここで、サーバーから定期的に (たとえば 2 分) 新しいデータをフェッチしてビューに追加したいと考えています。Android のサーバーから定期的にデータをフェッチ (ポーリング) します。
残りの呼び出しを使用してサーバーからデータを取得し、それをビューに追加するアプリに取り組んでいます。すべての初期データを正しく取得します。私はそれを行うために AsyncTask を使用します。
ここで、サーバーから定期的に (たとえば 2 分) 新しいデータをフェッチしてビューに追加したいと考えています。Android のサーバーから定期的にデータをフェッチ (ポーリング) します。
これを行うには、AlarmManager クラスをチェックアウトできます。
Intent intent = new Intent(this, MyAlarmManager.class);
long scTime = 60*2000;//2mins
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + scTime, pendingIntent);
これがアラームマネージャです--
public class MyAlarmManager extends BroadcastReceiver {
Context _context;
@Override
public void onReceive(Context context, Intent intent) {
_context= context;
//connect to server..
}
}
AlarmManager が「起動」されるたびに、サーバーに再度接続し、受信したばかりのデータを入力します。
http://developer.android.com/reference/android/app/AlarmManager.html
これを行う最善の方法は、サーバーからデータをフェッチするサービスを作成することです。その後、アクティビティが実行されている場合、サービスはフェッチされたデータを使用してアクティビティにインテントを送信できます。
または、アプリの実行時にサービスを実行し、起動時にアクティビティをサービスにバインドします。次に、AIDL などを使用してサービスと通信します。
(たとえば、サービスがデータをフェッチするたびに、アクティビティでコールバック関数を起動できます)