android數據庫操作之直接讀取db文件


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM