package com.greendao.db; import net.sqlcipher.database.SQLiteDatabase; import android.app.Application; import de.greenrobot.daoexample.DaoMaster; import de.greenrobot.daoexample.DaoMaster.DevOpenHelper; import de.greenrobot.daoexample.DaoSession; public class DBManager { private final static String DB_NAME = "notes-db"; private DBManager() {} private static DevOpenHelper sDevOpenHelper; private static DaoMaster sDaoMaster; public static void init(Application app) { sDevOpenHelper = new DaoMaster.DevOpenHelper(app, DB_NAME, null); SQLiteDatabase.loadLibs(app.getApplicationContext()); sDaoMaster = new DaoMaster(sDevOpenHelper.getWritableDatabase("secret-key")); } public static void destroy() { try { if (sDaoMaster != null) { sDaoMaster.getDatabase().close(); sDaoMaster = null; } if (sDevOpenHelper != null) { sDevOpenHelper.close(); sDevOpenHelper = null; } } catch (Exception e) { e.printStackTrace(); } } public static DaoSession newSession() { if (sDaoMaster == null) { throw new RuntimeException("sDaoMaster is null."); } return sDaoMaster.newSession(); } }