Android provider中使用sqlite內存數據庫

      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數據庫

相關文章
相關標籤/搜索