java - 在 Android 中定期从服务器获取数据(轮询)

标签 java android android-asynctask

我正在开发应用程序,使用 rest 调用从服务器获取数据并将其添加到 View 中。我正确地得到了所有的初始数据。我使用 AsyncTask 来完成它。

现在我想定期(比如 2 分钟)从服务器获取新数据并将其添加到 View 。在 Android 中定期从服务器获取数据(轮询)。

最佳答案

您可以 checkout 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

关于java - 在 Android 中定期从服务器获取数据(轮询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3607351/

相关文章:

java - 在 Java 中创建一个二维对象数组

java - 两个不同的 Activity 中有两个不同的 SwitchCompat

android - getExtras 总是空的?

android - AsyncTask 需要很长时间才能进入 doInBackground()

异步任务下载期间android手机卡住

java - SQLiteOpenHelper 创建时出现 NullPointerException

Java垃圾收集困惑

android-如何自定义操作栏选项卡

android - 如何检查图库中的图像是从相机还是屏幕截图中拍摄的?

java - 来自 Go 编程语言的 Android 应用