Android:从服务器获取数据的最佳方式(Widget +应用程序)

Eri*_*rik 7 android android-service android-asynctask

我正在开发一个Android应用程序,我需要从服务器获取数据(新闻项).我知道怎么做,使用线程和/或AsyncTasks等,但因为我也需要小部件中的数据,并且因为我想知道一般的首选方式,我想我会问你们.

我想到了一些具体的实现,即;

1)基本上创建一个使用Threads来获取数据的类,我从我的普通活动和Widget访问这些数据.也许缓存信息供以后使用.

2)使用服务,我可以从我的小部件和应用程序中请求数据.此服务不需要一直运行,但可以在需要数据时启动,并在获取和返回数据时停止.可以定期启动此服务以更新Widget的数据,或类似的内容.

可能有很多方法可以解决这个问题,所以我很想听听你认为这个问题的好方法.

提前谢谢,Erik

cod*_*ser 3

您可以使用服务从服务器获取数据,然后将其保存在数据库中。您的服务可以发送广播,您的应用程序/小部件可以注册该广播以收听并在有新信息可用时自行刷新。

由于该服务不需要一直运行,因此您可以使用IntentService.

IntentService 是按需处理异步请求(表示为 Intents)的 Services 的基类。客户端通过startService(Intent)调用发送请求;该服务根据需要启动,使用工作线程依次处理每个 Intent,并在工作完成时自行停止。

如果您定期更新,那么每次更新后,您的服务都可以安排自己由 Android 系统使用AlarmManager.

警报管理器适用于您希望应用程序代码在特定时间运行的情况,即使您的应用程序当前未运行也是如此。