我很困惑哪一个适合 android 透视图Ormlite
或者sqlite
. 请你给我建议哪一个更适合使用我们的安卓应用程序。并使其易于使用并支持所有 android 设备?我想在我们的项目中使用 ormlite,但在我想确定它对我和我的应用程序有帮助之前。因此,如果有人在此之前使用过,请指导我。我非常感谢你的想法。Thnaks
4 回答
ORMLite 是一个开源软件框架,提供 Java 类和 SQL 数据库之间的轻量级对象关系映射 (ORM)。
如果你使用这个框架,你最终会使用 sqlite 数据库(ORMLite 不是数据库),它允许你为你的应用程序实现一个好的架构,我总是更喜欢使用 ORMLite
如果您想开始使用,这是我关于 ORMLite 的博客!
ORMLite 有两个 .jar 文件:ormlite-core.jar (275KB) 和 ormlite-android (50KB) 库
优点:-
用于复杂的数据库操作
无需记住 SQL 查询
适合大尺寸应用
缺点:-
不必要地增加应用程序的大小
与greenDao(另一个ORM)相比有点慢
您也可以选择查看 Storm ( https://github.com/supaldubey/storm/ )
它提供了简洁的接口,并且不要求覆盖或实现模型的任何基类。
它还会自动创建和自动升级您的模型
您可以添加到 Gradle 并轻松开始使用
在父母中:
行家{网址“ 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);
同样,它具有保存、删除等方法。
尽管其他答案很完美,但我想提一下有关使用 ORM 的另一个方面,例如 Ormlite vs SQlite。
ORM(例如 Ormlite)很好用,因为它们减少了工作量和代码量,但我已经阅读了这篇文章,并在这里提到了这个观点:
我们通常不建议使用对象关系映射库,除非您有异常复杂的数据并且您有迫切需要。它们往往很复杂,需要时间来学习。如果您决定使用 ORM,您应该注意如果您的应用程序需要它是否是过程安全的,因为许多现有的 ORM 解决方案令人惊讶地不是。