sqlite是支持内存数据库的,在Android中,我们可以通过provider实现内存数据库操作。内存数据库的优点,访问速度快,但在连接关闭后,数据库自动消失(在android中的表现是,provider所在进程死了,内存库就没了)。应用场景,对于一次会话产生的临时数据或者密码等安全数据,这些数据仅想在应用运行期间有效,可以考虑用内存数据库。

在继承SQLiteOpenHelper的实现中,重载open方法,建立内存数据库与表。具体代码如下:

    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

相关文章:

  • 2021-09-19
  • 2021-10-26
  • 2021-06-30
  • 2021-11-01
  • 2021-09-02
  • 2021-06-18
猜你喜欢
  • 2022-02-11
  • 2022-12-23
  • 2021-10-22
  • 2021-06-29
  • 2021-07-05
  • 2021-10-09
相关资源
相似解决方案