好的,这是我的第一篇文章,
我有一个从本地数据库表填充的 ListView。从那里我必须检查是否有来自 Web 服务的新数据,如果是这样,我首先必须更新那个特定的表,然后是 UI。
现在我需要大致了解如何实现这一点?
来自 Web 服务的数据不会经常更改。所以我需要创建一些架构/机制,其中数据总是首先从数据库加载,然后如果新数据可从 Web 服务获得,那么我解析服务更新表然后更新 UI。
基本上我想要这样的东西
MainThread
|
|
|-------->>--------separate thread----->>-----|
| |
| listener/ query db,
populate UI <<----------- observer/ ------<<----get data
| something |
| |
| |
| |
| check if we have new data--->> if no-- DONE
| |
| if yes
| |
| call web service,
| fetch data,
| update table
| listener/ |
update UI <<-------------observer/-----<<--------|
| something
|
有点像 Tumblr android App..
现在我想我可以通过将 AsyncTask 包装在一个类和一个接口(作为观察者/听众)中来实现这一点
但我喜欢使用 Loader(在 android 中可用),
还有其他建议吗?