今天在看xutils3源码的时候,在根据DaoConfig获取数据库操作类DbManagerImpl的时候,看到枚举类的应用。
1、获取调用
public static DbManager getDb(DaoConfig daoConfig) { return DbManagerImpl.getInstance(daoConfig); }
2、
private LruDiskCache(String dirName) { this.cacheDb = x.getDb(DbConfigs.HTTP.getConfig()); this.cacheDir = FileUtil.getCacheDir(dirName); if(this.cacheDir != null && (this.cacheDir.exists() || this.cacheDir.mkdirs())) { this.available = true; } this.deleteNoIndexFiles();
public enum DbConfigs { HTTP((new DaoConfig()).setDbName("xUtils_http_cache.db").setDbVersion(1).setDbOpenListener(new DbOpenListener() { public void onDbOpened(DbManager db) { db.getDatabase().enableWriteAheadLogging(); } }).setDbUpgradeListener(new DbUpgradeListener() { public void onUpgrade(DbManager db, int oldVersion, int newVersion) { try { db.dropDb(); } catch (DbException var5) { LogUtil.e(var5.getMessage(), var5); } } })), COOKIE((new DaoConfig()).setDbName("xUtils_http_cookie.db").setDbVersion(1).setDbOpenListener(new DbOpenListener() { public void onDbOpened(DbManager db) { db.getDatabase().enableWriteAheadLogging(); } }).setDbUpgradeListener(new DbUpgradeListener() { public void onUpgrade(DbManager db, int oldVersion, int newVersion) { try { db.dropDb(); } catch (DbException var5) { LogUtil.e(var5.getMessage(), var5); } } })); private DaoConfig config; private DbConfigs(DaoConfig config) { this.config = config; } public DaoConfig getConfig() { return this.config; } }