小编mrc*_*ktz的帖子

在Android上处理SQLite表和游标

我很难在Android上优化SQLite数据库处理的向后兼容性,复杂性和最佳实践.我找到了两种不被弃用的方法来管理SQLite数据库和游标:

  • 直接通过 android.database.sqlite
  • ContentProvider,CursorLoaderLoaderManager

我正在尝试设计数据库实现的未来证明.这意味着我想实施Google推广的最佳实践.我找到了一个关于实现ContentProvider的教程LoaderManager.

如果我遵循Lars Vogels提案,我的代码会被重复和不必要的复杂性所淹没.它对我的数据库中的某些表有意义.但是对于具有三个字段的映射表(例如)来实现它是没有意义的.此外,我遇到了问题ActionbarSherlock和回调接口LoaderManager(有一个解决方案,但它会使我的数据处理类加倍).

通过直接处理数据库和游标android.database.sqlite会引发资源管理问题(关闭游标!)并使我负责任务处理.

我的问题:
你如何在Android上处理SQLite数据库?
你什么时候去加倍努力,实施ContentProviderLoaderManager
你如何保持向后兼容?

我目前的方法:
我创建了一个将数据库I/O(via android.database.sqlite)与活动分开的类.所有方法都会打开和关闭它们在执行期间使用的游标(在我的活动之外),并根据需要返回对象或数据(而不是游标).I/O操作在中执行AsyncTasks.这种方法似乎非常弃用.

android android-contentprovider android-sqlite

7
推荐指数
1
解决办法
872
查看次数