我正在观看关于这个主题的2010年Google I/O视频,并有一些问题,以确保我正确理解。
Google I/O 2010 - Android REST客户端应用程序
请注意,我对CursorAdapters的理解非常有限。
现在我的应用程序只有一个UI层。我使用一些Google教程创建了一个名为DbAdapter的对象,以创建一个小型数据库和其中的一个表。
我创建了一个称为DataBroker的类(扩展ContentProvider),用于管理从数据库检索数据并调用Web服务更新数据。
场景:
1)假设我想在我的ListActivity中显示项目列表。我是否正确地认为,我会在我的DataBroker中编写一个函数,该函数创建一个游标到我的数据库中保存这些项目的表,启动一个服务,该服务启动一个线程调用Web服务以获取其他项目,然后将游标返回给我的UI线程?这样做可能会在Web服务完成之前将游标返回给我的UI线程,但是,我假设,一旦CursorAdapter拥有游标,它将自动显示对该数据库表所做的任何更改,是吗?
2) 现在我有一个项目列表在我的ListView中。假设我给用户一些功能来删除一个项目。用户执行此功能。它应该调用我的DataBroker中的一个函数,该函数更新与该项对应的数据库行,将状态列设置为STATE_DELETING(这将从ListView中删除该行,因为Cursor具有排除此状态的子句),然后触发一个服务,该服务触发一个线程,该线程访问我的Web服务,完成后删除数据库中的行?
另外,假设我有多个活动,我是否需要为每个带有列表的活动拥有静态游标,在Activity的onCreate中获取该游标,如果该游标为空,则访问我的DataBroker?