在对数据库操作时,常用的有两种方法:
1、在代码中建库、建表;
2、直接将相关库、表建立好,将db文件拷贝至assets目录下;
现在来看看第二种方法:
private String GetDataBasePath(Context context) { String packageName = context.getPackageName(); //Log.i("PackName", packageName); // String DB_PATH = String.format("/data/data/%1$s/databases/", // packageName); String DB_PATH = CommonData.baseDir + File.separator + DB_NAME; if ((new File(DB_PATH)).exists() == false) { try { // 如 SQLite 数据库文件不存在,再检查一下 database 目录是否存在 File f = new File(DB_PATH); // 如 database 目录不存在,新建该目录 if (!f.exists()) { f.mkdir(); } // 得到 assets 目录下我们实现准备好的 SQLite 数据库作为输入流 InputStream is = context.getAssets().open(DB_NAME); // 输出流 OutputStream os = new FileOutputStream(DB_PATH); // 文件写入 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 (Exception e) { e.printStackTrace(); } } return DB_PATH; }