歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android加載固定內容數據庫的妙法

Android加載固定內容數據庫的妙法

日期:2017/3/1 10:33:41   编辑:Linux編程

經常我們需要使用一些事先做好內容的數據庫,比如字典等, 這就要加載已有的數據庫文件,通常把它們放在assets 或者raw中,在程序運行時copy到程序內部空間:/data/data/package/my_app/databases, 詳細的做法看這裡。

但是這樣有個缺點,當文件較大時會占用較長的時間,用戶難免會有點小著急。

我們可以這樣HACK來把copy的環節省去:

1 把數據庫文件(如MYDB.db) 放到PROJECT/libs/armeabi/ 改名為libMYDB.db.so(注意前面必需加”lib")。

2 用這樣的方式打開:

  1. DATABASE_PATH = "/data/data/" + packageName + "/lib/";
  2. SQLiteDatabase db = SQLiteDatabase.openDatabase(DATABASE_PATH + libMYDB.db.so, null, SQLiteDatabase.OPEN_READONLY | SQLiteDatabase.NO_LOCALIZED_COLLATORS);

這樣等程序一安裝完就可以使用數據庫了,其原理是把數據庫文件偽裝成lib庫文件,程序在安裝時會自動copy到/data/data/package/lib/,省去了我們自己的copy過程。

目前我測試了讀操作,寫操作還有待測試。

(全文完)

Copyright © Linux教程網 All Rights Reserved