在Android开发中,大家开发不同项目,不同的项目就不有不同需求。但是不管是什么项目都会涉及到数据存储。比如SharePreferences,SQLite,File等方式。在项目开发过程中。有很多项目需要用到SQLite,原因是这其中的数据并不是所有数据都是在后台拉取的。也有需要自己去创建表,和填充数据的功能。下面具体讲讲我在项目中使用的数据库和所遇到的数据库问题。
今天学习的一种框架:LiteOrm
LiteOrm: LiteOrm是一个速度快、小巧却强大的android ORM框架类库,LiteOrm让你一行代码实现数据库的增删改查操作,以及实体关系的持久化和自动映射。
特征:
- 轻量,专注,性能优先,线程无关,专注数据及其关系(关系是重点)存储和读取。
- 不需要工具辅助,实体不需要无参构造,不需要繁多注解,约定大约配置,一切多余的,都不需要。
- 使用极致简约:db.save(u); db.delete(u); db.deleteAll(U.class);
那么我们为什么选择用LiteOrm的原因:
1、LiteOrm可以自定义数据库名字已经目录。
2、使用LiteOrm的时候哪里错了会明确的告诉你。
3、LiteOrm体积小,专一,一个库只做一件事,是什么库就做什么事情。
2、代码预览,转载自:http://blog.csdn.net/napoleonbai/article/details/41958725[java] view plain copy
- package com.napoleonbai.android.model;
-
- import java.io.Serializable;
-
- import com.litesuits.orm.db.annotation.Check;
- import com.litesuits.orm.db.annotation.Column;
- import com.litesuits.orm.db.annotation.Ignore;
- import com.litesuits.orm.db.annotation.PrimaryKey;
- import com.litesuits.orm.db.annotation.PrimaryKey.AssignType;
-
-
-
-
-
-
-
- public class BaseModel implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
-
- @PrimaryKey(AssignType.AUTO_INCREMENT)
-
- @Column("_id")
- public int id;
-
-
- @Check("description NOT NULL")
- public String description = "字段描述";
-
- @Ignore
- private String ignore = "标记Ignore,并不会出现在数据库中";
-
- @Override
- public String toString() {
- return "BaseModel{" + "description='" + description + '\'' + '}';
- }
- }
这是建立的一个顶层的Model父类,这里处理所有Model类都共有的字段,比如数据库的“_id”字段这些等等
然后我们还需要一个Model类,暂时我们用Users来替代
- package com.napoleonbai.android.model;
-
- import com.litesuits.orm.db.annotation.Check;
- import com.litesuits.orm.db.annotation.Default;
- import com.litesuits.orm.db.annotation.NotNull;
- import com.litesuits.orm.db.annotation.Table;
- import com.litesuits.orm.db.annotation.Unique;
-