Android:从服务器获取数据的最佳方式(Widget+;应用程序)
我正在开发一个Android应用程序,需要从服务器获取数据(新闻条目)。我知道如何做到这一点,使用线程和/或异步任务等,但由于我也需要小部件中的数据,并且因为我想知道通常首选哪种方式,所以我想问问你们 我想到了一些具体的实现,即 1) 基本上创建一个类,它使用线程来获取数据,我可以从我的正常活动和小部件访问这些数据。可能会缓存这些信息以备将来使用 2) 使用服务,我可以从我的小部件和应用程序请求数据。此服务不需要一直运行,但可以在需要数据时启动,在获取并返回数据时停止。可以定期启动此服务以更新小部件的数据,或者类似的内容 可能有很多方法可以解决这个问题,所以我很想听听你认为什么是解决这个问题的好方法 提前感谢,,Android:从服务器获取数据的最佳方式(Widget+;应用程序),android,android-service,android-asynctask,Android,Android Service,Android Asynctask,我正在开发一个Android应用程序,需要从服务器获取数据(新闻条目)。我知道如何做到这一点,使用线程和/或异步任务等,但由于我也需要小部件中的数据,并且因为我想知道通常首选哪种方式,所以我想问问你们 我想到了一些具体的实现,即 1) 基本上创建一个类,它使用线程来获取数据,我可以从我的正常活动和小部件访问这些数据。可能会缓存这些信息以备将来使用 2) 使用服务,我可以从我的小部件和应用程序请求数据。此服务不需要一直运行,但可以在需要数据时启动,在获取并返回数据时停止。可以定期启动此服务以更新小
Erik您可能希望在小部件更新自身时启动服务(updatePeriodMillis),并使用它获取数据,将其存储在sqldatabase中以及刷新小部件
通过这种方式,数据被缓存,您可以从应用程序中访问数据,而不必使事情过于复杂。您可以使用服务从服务器获取数据,然后将其保存在数据库中。您的服务可以发送广播,当有新信息可用时,您的应用程序/小部件可以注册以收听并刷新自身 由于该服务不需要一直运行,因此可以使用 IntentService是的基类 处理异步数据的服务 请求(表达为意图) 需要客户端通过 startService(意向)调用;这个 根据需要启动服务,处理 每个意图依次使用一个工人 线程,并在运行时自动停止 失业 如果您定期进行更新,那么在每次更新之后,您的服务可以通过android系统使用来安排自己再次运行 报警管理器用于 你想拥有你的 应用程序代码以特定的速度运行 时间,即使您的应用程序不可用 目前正在运行