/** * Construct a LitePalDB instance from the default configuration by litepal.xml. But database * name must be different than the default. * @param dbName * Name of database. * @return A LitePalDB instance which used the default configuration in litepal.xml but with a specified database name. */ public static LitePalDB fromDefault(String dbName) { LitePalConfig config = LitePalParser.parseLitePalConfiguration(); LitePalDB litePalDB = new LitePalDB(dbName, config.getVersion()); litePalDB.setStorage(config.getStorage()); litePalDB.setClassNames(config.getClassNames()); return litePalDB; }
/** * Add a class name into the current mapping model list. * * @param className * Full package class name. */ public void addClassName(String className) { getClassNames().add(className); }
/** * Switch the using database to the one specified by parameter. * @param litePalDB * The database to switch to. */ public static void use(LitePalDB litePalDB) { synchronized (LitePalSupport.class) { LitePalAttr litePalAttr = LitePalAttr.getInstance(); litePalAttr.setDbName(litePalDB.getDbName()); litePalAttr.setVersion(litePalDB.getVersion()); litePalAttr.setStorage(litePalDB.getStorage()); litePalAttr.setClassNames(litePalDB.getClassNames()); // set the extra key name only when use database other than default or litepal.xml not exists if (!isDefaultDatabase(litePalDB.getDbName())) { litePalAttr.setExtraKeyName(litePalDB.getDbName()); litePalAttr.setCases("lower"); } Connector.clearLitePalOpenHelperInstance(); } }
assertTrue(DBUtility.isTableExists("WeiboMessage", db)); LitePalDB litePalDB = new LitePalDB("db2", 1); litePalDB.addClassName(Classroom.class.getName()); litePalDB.addClassName(Product.class.getName()); litePalDB.setExternalStorage(true); LitePal.use(litePalDB); db = LitePal.getDatabase(); assertFalse(DBUtility.isTableExists("WeiboMessage", db)); litePalDB = new LitePalDB("db2", 2); litePalDB.addClassName(Computer.class.getName()); litePalDB.addClassName(Product.class.getName()); litePalDB.addClassName(Headset.class.getName()); litePalDB.setExternalStorage(true); LitePal.use(litePalDB); db = LitePal.getDatabase();