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数据库