我的Android应用程序正在通过一些不同的“ Activity ”和“服务”读取和写入本地SQLite数据库。相当标准。但是,我对将所有数据库详细信息存储为常量然后在访问数据库的任何地方使用的方式感到不满意。有人建议我将数据库包装在ContentProvider中。听起来不错。在重构代码时,我想问一下:

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

  • 是的,我意识到我经常遇到“Android对象关系映射框架在哪里?”问题。目前,我主要是想听听您如何使用标准SDK中提供的功能来构建Android应用。

    一如既往,感谢您的指导!

    最佳答案

    我们已经在Android上调整ORMLite已有一段时间了,并且运行良好。 ORMLite通过本地数据库调用支持Android,也通过JDBC支持其他数据库。您可以注释您的类/字段,并使用基本的DAO类持久化到SQLite。

  • CREATE TABLE语句是在我的ORMLite的实用程序类中处理的。 DAO类负责处理大多数SQL。
  • online documentation的Android部分介绍了类层次结构。您实现了DatabaseHelper,它有助于创建数据库更新。您的 Activity 扩展了OrmLiteBaseActivity(或服务或选项卡),它可以访问帮助程序和DAO。
  • ORMLite不提供与远程REST服务器合并的解决方案。

  • 希望这会有所帮助。

    09-25 23:23
    查看更多