我很困惑哪个适合Android视角的Ormlite
或sqlite
。
请你能给我一个建议,哪个更适合使用我们的Android应用程序。并使易用和支持所有Android设备?
我想在我们的项目中使用ormlite,但在此之前我想确定它对我和我的应用程序是否有用。如果有人在此之前使用过,请指导我。我非常感谢你的想法.Thnaks
答案 0 :(得分:17)
ORMLite是一个开源软件框架,它在Java类和SQL数据库之间提供轻量级对象关系映射(ORM)。
如果你使用这个框架你最终使用sqlite数据库(ORMLite不是数据库),它允许你为你的应用程序实现一个好的架构,我总是喜欢使用ORMLite
如果你想开始使用它,这是我的blog on ORMLite !!
答案 1 :(得分:6)
ORMLite有两个.jar文件:ormlite-core.jar(275KB)和ormlite-android(50KB)库
优势: -
用于复杂的数据库操作
无需记住SQL查询
喜欢大尺寸应用
缺点: -
不必要地增加申请尺寸
与greenDao(另一个ORM)
答案 2 :(得分:0)
虽然其他答案都很完美,但我想提一下使用ORMs的另一个方面,比如Ormlite和SQlite。
ORM(例如Ormlite)很好用,因为它们减少了工作量和代码量,但我已经阅读了this,我在这里提到了这个意见:
我们通常不建议使用对象关系映射库 除非你有非常复杂的数据并且你有急需。他们 往往很复杂,需要时间学习。如果你决定去 ORM你应该注意它是否是过程安全的 如果您的应用程序需要它,就像许多现有的ORM解决方案一样 令人惊讶的是没有。
答案 3 :(得分:0)
您也可以选择查看Storm(https://github.com/supaldubey/storm/)
它提供了整洁的界面,并没有要求覆盖或实现模型的任何基类。
它还会自动创建并自动升级您的模型
您可以添加到Gradle并轻松开始使用
在父母:
maven {url“http://dl.bintray.com/cubestack/maven”}
在Gradle项目中:
dependencies {
compile 'in.cubestack.android.lib:storm:1.0g'
}
第1步:定义表格:
@Table(name = "DEMO_ENTITY")
class Entity {
@PrimaryKey
@Column(name="ID", type = FieldType.INTEGER)
private int id;
}
第二步(定义数据库)
数据库也有可以应用的注释,可以定义多个数据库。
@Database(name="MY_DB", tables = {Entity.class, AnotherEntity.class}, version = 2)
class Database {}
第三步(开始使用)
随着数据库为我们准备好,我们可能会开始使用它,如下所示:
检索
StormService service = new BaseService(getContext(), Database.class);
List<Entity> savedEntities = service.findAll(Entity.class);
同样,它有保存,删除等方法。