我有一个AsyncTask
,它从Web服务提取信息并显示在UI中。这要求我每次启动应用程序时都要获取信息,这会浪费带宽,并且在启动应用程序时需要很长时间才会显示信息。如何使用SQLite数据库存储来自web的同步数据 - 线程安全
我想将获取的信息存储在本地SQLite数据库中,并且每隔一段时间将其与Web服务中的数据同步。
什么是最好的方法来做到这一点?
如果我为数据库创建另一个AsyncTask
,并在应用程序启动后立即运行它,那么我可能会遇到数据库更新的竞争条件,因为我正在从其中读取信息以显示在UI中。什么建议这个?我想这是一个普遍的问题,但我没能找到合适的关键词来寻找答案...
感谢
编辑:我分API级别为8个,因此任何解决方案应该与它的工作或在支持库中提供。
由于使用本服务的API,如2010年GoogleIO mentionned,我会读到它看看。我注意到装载机仅适用于较新的API级别,而我的最小API级别为8.因此,如何在较旧的API级别将GUI与数据库同步? – tbkn23 2013-05-01 20:01:16
@tbkn - 装载机也位于支持库中,可用于API级别4:http://developer.android.com/tools/extras/support-library.html – ianhanniballake 2013-05-01 21:46:40