GreenDao小结

来源:互联网 发布:淘宝店铺活动设置图 编辑:程序博客网 时间:2024/06/05 00:38

1、首先要明确我们需要GreenDao给我们提供什么东西?

1.1、 Account(对象,内含数据表需要的字段)

1.2、 AccountDao(实际生成的某某DAO类,通常对应具体的java类,比如NoteDao等。其有更多的权限和方法来操作数据库元素)

1.3、 DaoMaster(一看名字就知道它是Dao中的最大的官了。它保存了sqlitedatebase对象以及操作DAO classes(注意:不是对象)。其提供了一些创建和删除table的静态方法,其内部类OpenHelperDevOpenHelper实现了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);

0 0