我建議你使用SQLiteAssetHelper庫(https://github.com/jgilfelt/android-sqlite-asset-helper)。它是一個Android助手類,用於使用應用程序的原始資產文件來管理數據庫創建和版本管理。
此類爲開發人員提供了一種簡單的方式,可以將其應用程序與現有SQLite數據庫(可能預先填充數據)一起運輸,並管理其初始創建和隨後版本發佈所需的任何升級。
預加載的sqlite數據庫將存儲在資源文件夾中的壓縮文件中,並且SQLiteAssetHelper .jar庫將存儲在lib文件夾中,請確保將其添加到構建路徑中。 然後你可以創建一個類與folllowing: 加載的歌曲標題和標題的預加載數據庫中的樣本類:
import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;
public class DatabaseManager {
所有變量和常數的
// DECLATION將使用創建表
private static final String DATABASE_NAME = "SongDatabase";
private static final String DATABASE_TABLE = "Song";
所需的所有柱
//聲明要創建
public static final String KEY_ROWID = "_id";
public static final String KEY_AUTHOR = "author";
public static final String KEY_TITLE = "title";
private DatabaseHelper mDbHelper;
private SQLiteDatabase ourDatabase;
private final Context ourContext;
public class DatabaseHelper extends SQLiteAssetHelper {
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public DatabaseManager(Context context){
ourContext = context;
}
// open the database for access
public DatabaseManager open() throws SQLException {
mDbHelper = new DatabaseHelper(ourContext);
ourDatabase = mDbHelper.getWritableDatabase();
return this;
}
// Enter Values into the database or create database values
public long createRecords(String author, String title) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_AUTHOR, author);
initialValues.put(KEY_TITLE, title);
return ourDatabase.insert(DATABASE_TABLE, null, initialValues);
}
// close the database after creating the values for security purposes
public void close() {
mDbHelper.close();
}
}
將數據庫放在資產文件夾,雖然你可能不會執行寫入操作,並且你會將數據庫複製到SD卡(這是昂貴的)或內存 –
@TheUnknown請發表您的評論作爲回答我可以接受它是最好的。 – whizzzkey