我的Android应用程序正在从几个不同的活动和服务中读取和写入本地SQLite数据库。很标准。但是我对我将所有数据库详细信息存储为常量的方式感到不满意,然后我在访问数据库的任何地方使用它。我被建议将数据库包装在ContentProvider中。听起来不错。当我重构我的代码时,我想我会问:
是的,我意识到我正处于常年“Android对象关系映射框架的哪个位置?”题。目前,我很想知道如何使用标准SDK中提供的内容来构建Android应用程序。
一如既往,感谢指点!
答案 0 :(得分:17)
我们已经在Android上调整了ORMLite一段时间了,它运行良好。 ORMLite支持Android与本机数据库调用,并通过JDBC支持其他数据库。您注释了您的类/字段并使用基本DAO类来持久化到SQLite。
DatabaseHelper
,这有助于创建数据库的更新。您的活动扩展OrmLiteBaseActivity
(或服务或标签),可以访问帮助程序和DAO。希望这有点帮助。
答案 1 :(得分:1)
目前,我很想知道如何使用标准SDK中提供的内容来构建Android应用程序。
我不是SQL的真正粉丝,也不是它在android中处理的方式,所以我使用了对象数据库NeoDatis。它基本上只是让您可以非常轻松地将Java对象存储/检索到存储在设备上的平面文件中。 db40也是另一个可以在android上运行的替代对象数据库。
使用此方法没有任何问题,您可能需要注意,包括NeoDatis库会将APK大小增加~700kb。
答案 2 :(得分:0)
我不知道我有答案,除了我不喜欢如何处理,我发现它也非常混乱。我通常遵循SDK附带的记事本示例中给出的模式。
由于这个原因,我正在使用我自己的迷你ORM框架,使用注释并管理所有这些。到目前为止一切正常,但我还没有完成所有工作。
答案 3 :(得分:0)
您还可以查看Androrm。它是一个开源的orm工具,专为android设计。它可以帮助您处理所有与数据库相关的内容。
答案 4 :(得分:0)
只是为了越来越多地完成列表......另一个ORM是随BARACUS Framework提供的ORM解决方案。它不打算构建企业级数据库,更多的是用于在数据库中存储几个实体并使其可由应用程序访问。其中没有代码生成方法;你只需编写你的实体pojo,一个rowmapper和你的表def。因此,您可以使用DAO,依赖注入,IOC样式生命周期支持等等。
到目前为止ORM功能:
对于更复杂的数据库内容(使用ORM稍微有点像春天的rowmapper时间一样)我正在考虑添加ormlite集成。
有关更多代码详情,请查看tutorial application on github