123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package com.sunil.mvp.db;
- import android.content.Context;
- import android.support.annotation.NonNull;
- import com.sunil.mvp.db.model.DaoMaster;
- import com.sunil.mvp.db.model.DaoSession;
- import org.greenrobot.greendao.database.Database;
- /**
- * Created by sunil on 12-08-2017.
- */
- public class GreenDaoDatabase {
- private static DaoSession mDaoSession;
- public static final boolean ENCRYPTED = false;
- private GreenDaoDatabase() {
- }
- private static class SingletonHolder {
- private static final GreenDaoDatabase INSTANCE = new GreenDaoDatabase();
- }
- public static GreenDaoDatabase getInstance() {
- return SingletonHolder.INSTANCE;
- }
- public void init(Context context) {
- init(context, "db");
- }
- public void init(@NonNull Context context, @NonNull String dbName) {
- DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(context.getApplicationContext(), ENCRYPTED ? "notes-db-encrypted" : "articles-db");
- Database db = ENCRYPTED ? helper.getEncryptedWritableDb("super-secret") : helper.getWritableDb();
- mDaoSession = new DaoMaster(db).newSession();
- }
- public DaoSession getDaoSession() {
- if (null == mDaoSession) {
- throw new NullPointerException("green db has not been initialized");
- }
- return mDaoSession;
- }
- }
|