greenDao是一个移动开发的ORM框架。
在此总结下用法。
首先需要新建一个JAVA项目用来自动生成文件。
需要导入greendao-generator-1.3.0.jar和freemarker.jar到项目中
下载地址: http://download.youkuaiyun.com/detail/f112122/7944535
在创建完项目后,在根目录下,新建个src-gen文件夹。用来放greenDAo生成的代码。
然后复制下这个代码。
import de.greenrobot.daogenerator.DaoGenerator;
import de.greenrobot.daogenerator.Entity;
import de.greenrobot.daogenerator.Schema;
/**
* Generates entities and DAOs for the example project DaoExamples.
*
* Run it as a Java application (not Android).
*
* @author Sanjay
*/
public class ExampleDaoGenerator {
public static void main(String[] args) throws Exception {
Schema schema = new Schema(3, "com.day30.dao"); //3为数据库版本,后面为包名 <span style="font-family: Arial;"> Entity PlanItem = schema.addEntity("Plan");//我们要生成的实体</span>
PlanItem.addIdProperty().autoincrement().primaryKey();//设置各种属性,不解释
PlanItem.addStringProperty("title").notNull();
PlanItem.addStringProperty("description");
PlanItem.addStringProperty("date");
new DaoGenerator().generateAll(schema, "../DaoExamples/src-gen");//这个是项目的路径,可能需要修改下项目名字
}
}
=====================
然后直接运行。会生成报告。
greenDAO Generator
Copyright 2011-2014 Markus Junginger, greenrobot.de. Licensed under GPL V3.
This program comes with ABSOLUTELY NO WARRANTY
Processing schema version 3...
Written H:\Users\Administrator\workspace\DaoExamples\src-gen\com\day30\dao\PlanDao.java
Written H:\Users\Administrator\workspace\DaoExamples\src-gen\com\day30\dao\Plan.java
Written H:\Users\Administrator\workspace\DaoExamples\src-gen\com\day30\dao\DaoMaster.java
Written H:\Users\Administrator\workspace\DaoExamples\src-gen\com\day30\dao\DaoSession.java
Processed 1 entities in 435ms
===================
OK,现在刷新下项目
我们看到生成的代码啦
=====================
在完成上面的生成model和DAo层后。
现在我们来看怎么使用。
先新建安卓项目。
public class MainActivity extends Activity {
String TAG= getClass().getName();
PlanDao planDao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DaoSession daoSession = MyApplication.getDaoSession(MainActivity.this);
planDao = daoSession.getPlanDao();
for (int i = 0; i < 5; i++) {
Plan plan = new Plan();
plan.setDate("data" + i);
plan.setDescription("desc" + i);
plan.setTitle("title" + i);
planDao.insert(plan);
}
List<Plan> array = planDao.loadAll();
for (Plan plan : array) {
Log.i("day30", plan.getTitle());
}
}
}
public class MyApplication extends Application {
private static DaoMaster daoMaster;
private static DaoSession daoSession;
private static MyApplication app;
private MyApplication() {
}
public static Application getInstance() {
if (app == null) {
app = new MyApplication();
}
return app;
}
@Override
public void onCreate() {
super.onCreate();
}
public static DaoMaster getDaoMaster(Context context) {
if (daoMaster == null) {
OpenHelper helper = new DaoMaster.DevOpenHelper(context, "PlanDB",
null);
daoMaster = new DaoMaster(helper.getWritableDatabase());
}
return daoMaster;
}
/**
* 取得DaoSession
*
* @param context
* @return
*/
public static DaoSession getDaoSession(Context context) {
if (daoSession == null) {
if (daoMaster == null) {
daoMaster = getDaoMaster(context);
}
daoSession = daoMaster.newSession();
}
return daoSession;
}
}
---------------------------
通过上面不走就ok啦。。走了一个流程!
简单入门下。再具体的看下面
参考文章: http://glblong.blog.51cto.com/3058613/1354953
http://blog.youkuaiyun.com/krislight/article/details/9391455
===============
如果觉得上面步骤还是很多。那么欢迎看下这两个开源的架构。看看什么叫简洁
https://github.com/wyouflf/xUtils
https://github.com/yangfuhai/afinal
-------------------------------------------------------------------------------------
项目详情:https://github.com/greenrobot/greenDAO