在對資料庫操作時,常用的有兩種方法:
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;
}
創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()