我想知道 在Android上使用ORM的真正必要性 。什么是“加号”,在Android上进行conding时使用ORM,我们可以获得吗? 是不是使用本机android方法足够(使用SqlLIte并编写自己的类和自己的SQL查询( ,我认为需要花费大量时间和代码行 < /强>))?
使用ORM尤其是在移动设备上有哪些好处和缺点?
答案 0 :(得分:5)
ORM可以帮助您在Object级别上更多地处理和思考您的代码,而不是关于表和列。如果要维护代码的面向对象,这一点很重要。 ORM有助于将表/列空间与对象进行转换,因此您不必或至少非常低。
ORM不一定非常复杂和昂贵。如果您的需求很简单,现在有很多简单的库/框架。到目前为止,我已将OrmLite用于我的Android项目。
答案 1 :(得分:3)
使用ORM框架可以获得与使用经过良好测试的(专业)库相同的优点和缺点:
此外,使用ORM可以帮助您专注于您的业务逻辑,因为您不必从OO思维转换为关系数据库思维再转回。
我能想到的一个缺点是,如果你有一些非常复杂的查询自己编写查询可能会更高效,因为(取决于ORM)你可以编写一个单独的查询,其中ORM将使用多个查询(延迟加载) )。但我知道的ORM框架也提供了编写自定义查询的能力。
根据我的经验,我可以说: 我开发了一个包含大约50个表的应用程序来保存几乎所有内容所需的数据我的查询非常复杂(几个连接)。
使用ORM(greendao)节省了我几周的时间,因为必须编写和调试的代码更少。 此外,我可以专注于我的问题,而不必关心底层的表结构,这让我节省了一些时间。
此外:我自己的开发速度在java中远高于SQL。
答案 2 :(得分:2)
为什么选择ORMLite?
移动应用程序开发对于软件解决方案变得越来越重要,ORMLite发布了一个新的,更可靠的Android支持的API版本。
Android中的ORMLite显示了面向对象语言的应用程序如何从使用ORDM(对象关系数据库映射)技术中受益。
使用该技术时,数据传输点存在瓶颈 - 所有类结构和OO设计都需要展平并简化为构造(在SQLite的情况下)可能只有5数据类型!!
数据存储问题有一个优雅的解决方案,可以补充使用OO所涉及的设计和分析,而ORMLite是一种“精简”的方式来开始学习它。
<强>优点:强>
<强>缺点:强>