1、首先要明确我们需要GreenDao给我们提供什么东西?
1.1、 Account(对象,内含数据表需要的字段)
1.2、 AccountDao(实际生成的某某DAO类,通常对应具体的java类,比如NoteDao等。其有更多的权限和方法来操作数据库元素)
1.3、 DaoMaster(一看名字就知道它是Dao中的最大的官了。它保存了sqlitedatebase对象以及操作DAO classes(注意:不是对象)。其提供了一些创建和删除table的静态方法,其内部类OpenHelper和DevOpenHelper实现了SQLiteOpenHelper并创建数据库的框架)
1.4、 DaoSession(会话层。操作具体的DAO对象(注意:是对象),比如各种getter方法。)
2、要得到这些类我们需要什么东西:
2.1、首先是jar包,需要freemarker-2.3.20.jar和greendao-generator-1.3.1.jar还有一个ExampleDaoGenerator类
2.2、定义一个ExampleDaoGenerator类:
public classExampleDaoGenerator{
publicstatic void init() {
Schemaschema =new Schema(1,
"com.ifast.androidassignment.daqiang.greendao");
addNote(schema,true, "name", "password");
//addCustomerOrder(schema);
try{
newDaoGenerator().generateAll(schema,
"../Test/src-gen");
}catch (Exception e) {
e.printStackTrace();
}
}
privatestatic void addNote(Schema schema,boolean isAddID, Stringname,
Stringpassword) {
Entitynote = schema.addEntity("Account");
note.addIdProperty();
note.addStringProperty(name).notNull();
note.addStringProperty(password).notNull();
}
}
2.3、这个ExampleDaoGenerator类需要在java程序中运行(Android缺少必要的类)
2.4、 建立一个简单的Java程序,导出jar包,建立"../Test/src-gen"(Test是当前项目名称)文件夹,运行得到前面的四个类,复制到Android程序使用就可以了!
3、Android中怎么使用那四个类:
DaoMaster.DevOpenHelper helper = newDaoMaster.DevOpenHelper(getActivity(), "notes-db", null);
SQLiteDatabase db = helper.getWritableDatabase();
DaoMasterdaoMaster = new DaoMaster(db);
DaoSessiondaoSession = daoMaster.newSession();
accountDao= daoSession.getAccountDao();
Accountaccount = new Account(userName, userPassWord);
accountDao.insert(account);