package suda.sudamodweather.dao; import android.content.Context; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import suda.sudamodweather.dao.greendao.DaoMaster; import suda.sudamodweather.dao.greendao.DaoSession; public abstract class BaseLocalDao { protected final static String USER_TABLE = "weather.db"; private static volatile DaoMaster _daoMaster; private static DaoSession _daoSession; protected static final <T> T getSingleData(List<T> result) { return (result == null || result.size() == 0) ? null : result.get(0); } protected static String fmDate(Date date) { DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return format.format(date); } protected DaoSession getDaoSession(Context ctx) { if (_daoSession == null) { _daoSession = getDaoMaster(ctx).newSession(); } return _daoSession; } private DaoMaster getDaoMaster(Context ctx) { if (_daoMaster == null) { synchronized (BaseLocalDao.class) { if (_daoMaster == null) { DaoMaster.OpenHelper helper = new DaoMaster.DevOpenHelper(ctx, USER_TABLE, null); _daoMaster = new DaoMaster(helper.getWritableDatabase()); } } } return _daoMaster; } }