为了实现本地的题库加载,将数据库转换为sqlite ,然后复制到了Asset 文件夹,通过写到本地,然后通过xutils 的数据库操作进行读取:
//首次登录写入数据库 检查是否执行过数据库写入操作 如果是,执行题库的写入操作 private void writeDB() { //开子线程写入数据库 if (mSystemUtil.showDBstate() == 0) { new Thread(new Runnable() { @Override public void run() { if (new File(BaseData.DB_PATH + BaseData.DB_NAME).exists() == false) { File dir = new File(BaseData.DB_PATH); if (!dir.exists()) { dir.mkdir(); } try { InputStream is = getBaseContext().getAssets().open(BaseData.DB_NAME); OutputStream os = new FileOutputStream(BaseData.DB_PATH + BaseData.DB_NAME); byte[] buffer = new byte[1024]; int length; while ((length = is.read(buffer)) > 0) { os.write(buffer, 0, length); } os.flush(); os.close(); is.close(); } catch (IOException e) { e.printStackTrace(); } } } }).start(); } mSystemUtil.saveDBstate(1); } 然后通过xutils 进行读取,对xutils的数据库模块进行配置:配置路径和数据库名称 : db_name db_path package com.post.posttime.Database; import com.post.posttime.BaseClass.BaseData; import org.xutils.DbManager; import org.xutils.db.table.TableEntity; import org.xutils.x; import java.io.File; /** * Created by Administrator on 2017/1/4. * 数据库操作工具类 */ public class DButils { static DbManager.DaoConfig daoConfig; public static DbManager DB=getDBmanager(); public static DbManager.DaoConfig getDaoConfig(){ File file=new File(BaseData.DB_PATH);//设置数据库路径 if(daoConfig==null){ daoConfig=new DbManager.DaoConfig() .setDbName(BaseData.DB_NAME)//设置数据库名称 .setDbDir(file) .setDbVersion(1) .setAllowTransaction(true) .setDbUpgradeListener(new DbManager.DbUpgradeListener() { @Override public void onUpgrade(DbManager db, int oldVersion, int newVersion) { } }).setTableCreateListener(new DbManager.TableCreateListener() { @Override public void onTableCreated(DbManager db, TableEntity<?> table) { } }); } return daoConfig; } static DbManager getDBmanager(){ DbManager manager= x.getDb(getDaoConfig()); return manager; } }然后就可以通过注解方式生成javabean 来对数据库进行操作。幸甚至哉,歌以咏志