问题:
我必须创建一些表来缓存一些通过读取XML获得的文本数据。这些表只需要在应用程序的初始运行时创建一次。应在固定时间段后清除表中的数据。应该有一个暴露给其他类的类,它允许在这个数据库上进行CRUD操作。
谷歌搜索找到了一些指向创建数据库和数据访问逻辑的教程的链接。
我有一些问题,请帮忙:
感谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
在这种情况下,最简单的方法是坚持 ContentProviders 。它们允许您将数据库相关逻辑(数据库表的设置,数据库升级管理,CRUD操作)与应用程序的其余部分完美分离。
不是在这里重写,而是将链接到我在这个问题上完成的帖子:Android Database Access Design Approach
数据库中的数据将显示在列表中。我在ArrayLists(在解析XML时创建)以及数据库(在这些列表被保留之后)中有数据。我应该使用什么适配器来备份列表?我应该使用ListAdapter还是CursorAdapter?
是的,在这种情况下,CursorAdapter可能很好。然后,在ListActivity中,您可以执行类似
的查询...
CursorAdapter adapter = managedQuery(....);
setListAdapter(adapter);
...
如果正确实现了ContentProvider,则会自动刷新列表。因为在这种情况下你会有一行像
...
getContext().getContentResolver().notifyChange(uri, null);
...
插入/更新/删除方法中的将通知已注册的观察者更新其数据。