Android SQLite DB和ContentProvider的最佳实践
我的Android应用程序正在通过一些不同的活动和服务向本地SQLite数据库进行读写操作。相当标准。但我不喜欢将所有数据库细节存储为常量,然后在访问数据库的任何地方使用这些常量的方式。有人建议我将DB包装在ContentProvider中。听起来不错。当我重构代码时,我想我会问:Android SQLite DB和ContentProvider的最佳实践,android,orm,Android,Orm,我的Android应用程序正在通过一些不同的活动和服务向本地SQLite数据库进行读写操作。相当标准。但我不喜欢将所有数据库细节存储为常量,然后在访问数据库的任何地方使用这些常量的方式。有人建议我将DB包装在ContentProvider中。听起来不错。当我重构代码时,我想我会问: 在Android中,您对本地DB数据存储的最佳实践是什么 在何处以及如何存储“CREATETABLE”语句、列名和其他SQL语句 您是否介意分享您实例化的类的列表,以及每个类的内容(ContentProvider、
- 在Android中,您对本地DB数据存储的最佳实践是什么
- 在何处以及如何存储“CREATETABLE”语句、列名和其他SQL语句
- 您是否介意分享您实例化的类的列表,以及每个类的内容(ContentProvider、DatabaseProvider、DatabaseHelper…)
- 如何协调本地Android DB的结构与通过REST接口提供的服务器端DB
一如既往,谢谢你的指点 我不知道我有什么答案,除了我真的不喜欢这件事的处理方式之外,我觉得它也很混乱。我通常遵循SDK附带的记事本示例中给出的模式 因此,我正在开发自己的迷你ORM框架,使用注释并管理所有这些。到目前为止一切正常,但我还没有把一切都搞定 现在,我主要想听听你是如何用标准SDK中提供的内容来构建Android应用程序的 我对SQL及其在android中的处理方式不太感兴趣,所以我使用对象数据库。它基本上只允许您非常轻松地将Java对象存储/检索到存储在设备上的平面文件中。db40也是另一个可以在android上使用的对象数据库 使用这种方法没有任何问题,您可能需要注意,包括NeoDatis库将使您的APK大小增加约700kb。我们已经在Android上调试了一段时间,它运行良好。ORMLite通过本机数据库调用支持Android,还通过JDBC支持其他数据库。注释类/字段,并使用基本DAO类持久化到SQLite
- CREATE TABLE语句由我的ORMLite实用程序类处理。大多数SQL由DAO类处理
- 的Android部分解释了类的层次结构。您实现了一个
,它可以帮助您创建数据库更新。您的活动扩展了DatabaseHelper
(或服务或选项卡),从而可以访问帮助器和DAO或MLITebaseActivity
- ORMLite不提供与远程REST服务器合并的解决方案
希望这有点帮助。您也可以看看。它是一个开源的orm工具,专门为android设计。它应该可以帮助您处理所有与数据库相关的内容 只是为了越来越多地完成这个列表。。。另一个ORM是随提供的ORM解决方案。它不是用来构建企业级数据库的,它更多的是用来在数据库中存储几个实体,并使应用程序能够访问这些实体。其中没有代码生成方法;只需编写实体pojo、行映射器和表def。因此,您可以使用DAO、依赖项注入、IOC风格的生命周期支持等等 到目前为止的ORM功能:
- 举例查询
- 几个方面(自动时间戳等)
有关更多代码详细信息,请查看是的,我实际上应该一步一步地阅读整个记事本教程。谢谢你的提醒!开玩笑地说,这里有一段来自Android开发网站的相关视频:正是我要问的问题!谢谢不过这部电影的纪录片很糟糕。甚至不要试图提交bug或功能请求……www.androrm.com/documentation有什么可怕的?你曾经尝试过提交反馈吗?是的,我尝试过。我不得不注册一些愚蠢的社区活动,然后连联系任何人或留下论坛帖子的选择都没有。结果是浪费时间。谢谢你的反馈。我在文档和贡献页面中添加了联系电子邮件,并对phabricator进行了快速描述。