sqlite是支持內存數據庫的,在Android中,咱們能夠經過provider實現內存數據庫操做。內存數據庫的優勢,訪問速度快,但在鏈接關閉後,數據庫自動消失(在android中的表現是,provider所在進程死了,內存庫就沒了)。應用場景,對於一次會話產生的臨時數據或者密碼等安全數據,這些數據僅想在應用運行期間有效,能夠考慮用內存數據庫。android
在繼承SQLiteOpenHelper的實現中,重載open方法,創建內存數據庫與表。具體代碼以下:sql
private static final String MEMORY_DBNAME = "temp_memory_db"; @Override public void onOpen(SQLiteDatabase db) { db.execSQL("ATTACH DATABASE ':memory:' AS " + MEMORY_DBNAME + ";"); db.execSQL("CREATE TABLE IF NOT EXISTS " + MEMORY_DBNAME + "." + Tables.MEMORY + " (" + MemoryColumns._ID + " INTEGER PRIMARY KEY REFERENCES concrete(_id)," + MemoryColumns.CONCRETE_UID + " TEXT," + MemoryColumns.PASSWORD + " TEXT);"); }
其餘操做與實體庫一致。詳細操做請參考TestApk數據庫