android將sqlite數據庫與程序一起發布

xen5 9年前發布 | 1K 次閱讀 Java Android

 把數據庫文件放在res/raw下 貌似android 的raw下視不會被編譯成二進制的。然后一運行程序就判斷是否存在數據庫表不存在則通過輸入輸出流復制raw下的數據庫文件到手機中.代碼如下

try {

Log.e(DATABASE_PATH, DATABASE_PATH);
String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
File dir = new File(DATABASE_PATH);

if (!dir.exists())
    dir.mkdir();

if (!(new File(databaseFilename)).exists()) {

    InputStream is = getResources().openRawResource(
            R.raw.healthmanage);
    FileOutputStream fos = new FileOutputStream(databaseFilename);
    byte[] buffer = new byte[8192];
    int count = 0;

    while ((count = is.read(buffer)) > 0) {
        fos.write(buffer, 0, count);
    }

    fos.close();
    is.close();
}

} catch (Exception e) { Log.e("出錯了", "出錯了"); }</pre>

 本文由用戶 xen5 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!