SQLite DB和ContentProvider的最佳实践

Dre*_*ams 46 orm android

我的Android应用程序正在从几个不同的活动和服务中读取和写入本地SQLite数据库.很标准.但我对我将所有数据库详细信息存储为常量的方式感到不满意,然后我在访问数据库的任何地方使用它.我被建议将数据库包装在ContentProvider中.听起来不错.当我重构我的代码时,我想我会问:

  • Android中本地数据库数据存储的最佳做法是什么?
  • 在哪里以及如何存储"CREATE TABLE"语句,列名和其他SQL?
  • 您是否介意共享您实例化的类列表以及每个类的内容(ContentProvider,DatabaseProvider,DatabaseHelper ...)?
  • 如何通过REST接口协调本地Android DB与服务器端数据库的结构?

是的,我意识到我正处于常年"Android对象关系映射框架的哪个位置?" 题.目前,我很想知道如何使用标准SDK中的可用内容构建Android应用程序.

一如既往,感谢指点!

Gra*_*ray 17

我们已经在Android上调整ORMLite一段时间了,它运行良好.ORMLite支持Android与本机数据库调用,并通过JDBC支持其他数据库.您注释您的类/字段并使用基本DAO类来持久化到SQLite.

  • CREATE TABLE语句由​​ORMLite的实用程序类处理.大多数SQL由DAO类处理.
  • 在线文档的Android部分解释了类层次结构.您实现了一个DatabaseHelper有助于创建数据库更新的实现.您的活动扩展OrmLiteBaseActivity(或服务或选项卡),可以访问帮助程序和DAO.
  • ORMLite不提供与远程REST服务器合并的解决方案.

希望这有点帮助.