本文主要是介绍GreenDao 3.2.2 使用总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 module gradle配置
apply plugin: 'org.greenrobot.greendao'
greendao {schemaVersion 5 //每次数据库升级+1 daoPackage 'xx.xx.xx.greendao.gen' targetGenDir 'src/main/java' }
dependencies {compile 'org.greenrobot:greendao:3.2.2' compile 'com.github.yuweiguocn:GreenDaoUpgradeHelper:v2.0.0'//数据库升级工具
}
2. 创建GreenDao工具类 GreenDaoManager
public class GreenDaoManager {private DaoMaster mDaoMaster; private DaoSession mDaoSession; private static GreenDaoManager mInstance; //单例 private GreenDaoOpenHelper openHelper; private GreenDaoManager() {SLFLogUtils.e("当前数据库版本号:"+SCHEMA_VERSION); if (mInstance == null) {openHelper = new GreenDaoOpenHelper(PosApplication.mContext, "/sdcard/xxx/xx-db", null); mDaoMaster = new DaoMaster(openHelper.getWritableDatabase()); mDaoSession = mDaoMaster.newSession(); }}public static GreenDaoManager getInstance() {if (mInstance == null) {synchronized (GreenDaoManager.class) {//保证异步处理安全操作 if (mInstance == null) {mInstance = new GreenDaoManager(); }}}return mInstance; }public DaoSession getSession() {return mDaoSession; }class GreenDaoOpenHelper extends DaoMaster.OpenHelper {public GreenDaoOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory) {super(context, name, factory); }@Override public void onUpgrade(Database db, int oldVersion, int newVersion) {SLFLogUtils.e(oldVersion + "升级到----->" + newVersion); MigrationHelper.DEBUG = true; MigrationHelper.migrate(db, new MigrationHelper.ReCreateAllTableListener() {@Override public void onCreateAllTables(Database db, boolean ifNotExists) {DaoMaster.createAllTables(db, ifNotExists); }@Override public void onDropAllTables(Database db, boolean ifExists) {DaoMaster.dropAllTables(db, ifExists); }}, SerialBeanDao.class, ReverseBeanDao.class, UserBeanDao.class); }}}
3.Application 初始化类GreenDaoManager
public static GreenDaoManager dbManager;
dbManager = GreenDaoManager.getInstance();
4.创建Bean
@Entity public class xxxBean {@Id(autoincrement = true)private Long id; //xxx private Byte xxx; //xxx private String xxxx;
}
编译后studio自动创建set get 以备读取数据库字段值
5. 使用
SerialBeanDao serialBeanDao = PosApplication.dbManager.getSession().getxxxBeanDao();
具体方法请参照GreenDao sdk使用说明,详见如下地址
http://greenrobot.org/greendao/documentation/queries/
这篇关于GreenDao 3.2.2 使用总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!