• Android provider中使用sqlite内存数据库


          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

  • 相关阅读:
    自动部署基于Maven的war文件到远程Tomcat
    解决Eclipse中新创建的Maven项目不自动创建web.xml文件
    JFreeChart
    hibernate
    hibernate
    hibernate
    hibernate
    Hibernate
    hibernate关联关系映射详解
    Hibernate获取数据java.lang.StackOverflowError
  • 原文地址:https://www.cnblogs.com/yuanzhanxue/p/3535697.html
Copyright © 2020-2023  润新知