在對數據庫操作時,常用的有兩種方法:
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; }