GreenDao 特性:
gethub事例: https://github.com/greenrobot/greenDAO
是将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案
ORM (Object Relation Mapping - 对象关系映射)
Android studio版本2.3
流程:
1.添加依赖Library
build.gradle(project:News)文件
dependencies {
classpath
'org.greenrobot:greendao-gradle-plugin:3.2.1'
}
build.gradle(Module:app)
apply
plugin:
'org.greenrobot.greendao'
dependencies {
compile
'org.greenrobot:greendao:3.2.0'
}
2.添加版本控制
greendao {
schemaVersion
1;
targetGenDir
'src/main/java'
}
3.新建实体类MyApplication extends Application
public class MyApplication
extends Application {
private DaoMaster
daoMaster;
private static DaoSession
daoSession;
@Override
public void onCreate() {
super.onCreate();
//
初始化
greendao
//
创建数据库 参数
1:
上下文对象
2:
数据库名称
.db 3:
游标工厂
DaoMaster.DevOpenHelper openHelper=
new DaoMaster.DevOpenHelper(getApplicationContext(),
"lizhen.db",
null);
//
需添加
.db
来创建数据库
//
实例化
daomaster
daoMaster=
new DaoMaster(openHelper.getWritableDb());
daoSession =
daoMaster.newSession();
}
//
增删改查
,
通过此方法实现
,
有参构造方法
public static DaoSession getsession(){
return
daoSession;
}
}
4.新建package bean包,用来存放数据处理的相关类
新建实体类,用来处理数据.
@Entity(nameInDb =
"user")
//
指定表单的名称
public class User {
@Id(autoincrement =
true)
//
给唯一标识
ID
自增长
;
private Long
id;
//int
字符只有
11
位
,Long
型较长
@Property(nameInDb =
"name")
private String
name;
@Property(nameInDb =
"psd")
private String
psd;
}
5.点击make poject按钮,(studio版本2.3)
进行自动生成 DaoMaster,Daoswssion和UserDao三个实体类.
6.在Fragment_two中进行调用
public class Fragment_two
extends Fragment{
@BindView(R.id.
btn_insert)Button
btn_insert;//butterKnife的使用,绑定控件
@Nullable
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view =inflater.inflate(R.layout.
fragment_two,container,
false);
ButterKnife.
bind(
this,view);//Butterknife初始化,Fragment绑定
return view;
}
@OnClick(R.id.
btn_insert)//butterKnife设置点击事件
public void onclick(){
User user =
new User(
null,
"
张三
",
"12356");
MyApplication.
getsession().insert(user);//对getsession方法的调用
Toast.
makeText(getContext(),
"
成功插入数据
", Toast.
LENGTH_SHORT).show();
}
}
7.运行程序,数据查看,插入正确(所用软件:Sqlite Developer).