HubDatabaseHelper.java 1.78 KB
package com.lotus.town.dao;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;

import com.locus.town.greendao.DaoMaster;
import com.locus.town.greendao.DaoSession;
import com.locus.town.greendao.HubNotesDao;

import org.greenrobot.greendao.query.QueryBuilder;

import java.util.ArrayList;
import java.util.List;

public class HubDatabaseHelper {

    private static HubDatabaseHelper mHelper = null;
    private static Object mLock = new Object();
    private static Context mContext;
    private HubDatabaseHelper(Context context){
        mContext = context;
        init();
    }


    public static HubDatabaseHelper getInstance(Context context){
        if(mHelper == null){
            synchronized (mLock){
                if(mHelper == null){
                    mHelper = new HubDatabaseHelper(context);
                }
            }
        }
        return mHelper;
    }

    public void init(){
        initDataDao();
    }

    private DaoSession daoSession;

    private DaoSession getDaoSession() {
        return daoSession;
    }
    private HubNotesDao getHubDao(){
        return getDaoSession().getHubNotesDao();
    }
    private void initDataDao(){
        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(mContext, "hub.db");
        SQLiteDatabase db = helper.getWritableDatabase();
        DaoMaster daoMaster = new DaoMaster(db);
        daoSession = daoMaster.newSession();
    }

    public void insertHub(HubNotes notes){
        getDaoSession().insert(notes);
    }

    public List<HubNotes> getList(){

        List<HubNotes> stus = new ArrayList<>();
        QueryBuilder queryBuilder = getHubDao().queryBuilder();
        queryBuilder.orderDesc(HubNotesDao.Properties.Datetime);
        stus = queryBuilder.list();
        return stus;
    }
}