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

Android provider中使用sqlite内存数据库的更多相关文章

  1. 在Android 开发中使用 SQLite 数据库笔记

    SQLite 介绍   SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PH ...

  2. Android虚拟机中的sqlite数据库文件

    Android虚拟机中的sqlite数据库文件 ①

  3. Android 开发中使用 SQLite 数据库

    SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能. 此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP ...

  4. 在Android Studio中查看Sqlite的方法

    只说最好的方法,使用工具stetho:http://facebook.github.io/stetho/ 1.在Gragle中加上如下语句: dependencies { // Stetho core ...

  5. 【转】Android开发中的SQLite事务处理,即beginTransaction()方法

    使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTrans ...

  6. C# Android 开发中使用 Sqlite.NET ORM

    开发环境:VS2015 Xamarin Sqlite.NET ORM 不就相当于 Entiry Framework For Xamarin 吗? 相当于用 C# 开发安卓程序访问 Sqlite 可以使 ...

  7. Android开发中的SQLite事务处理,即beginTransaction()方法

    使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTrans ...

  8. Android 开发中 SQLite 数据库的使用

    SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, ...

  9. 在 Android 应用程序中使用 SQLite 数据库以及怎么用

    part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开 ...

随机推荐

  1. java 同步 异步

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 同步 就是  讲究顺序 异步 就是  可以同时进行. 不知道那个家伙起得名字.. 讲究 ...

  2. QT学习笔记2:QT中常用函数

    一.QString转number QString number() QString number() QString number() QString number() QString number( ...

  3. Java Queue的测试

    上传图片没上去,提交的时候已经结束 代码链接

  4. python gensim的第一次试用

    参考于 http://blog.csdn.net/xiaoquantouer/article/details/53583980 有一个地方很重要,一定要安装anaconda,安装库简直不要太方便. 先 ...

  5. YII 关联查询

    通过外键自己关联自己

  6. visual stuidio2010 在iis中调试。

    1 你的电脑装好IIS. 这是必须的. 2.更改.NET Framework 版本为你的项目所用的版本. 应用程序池对应的.NET Framework 版本也都要对应. 3将你电脑的默认网站目录定位到 ...

  7. axios 与 Jquery-ajax 的使用区别

    axios 和 ajax 的使用方法基本一样,只有个别参数不同: 附:axios 中文文档 一.axios axios({ url: 'http://jsonplaceholder.typicode. ...

  8. CentOS下使用KVM克隆虚拟机自动修改网卡的MAC地址

    克隆完虚拟机之后Mac地址还保留着母机的配置,此时需要修改成新的Mac地址才能继续,网上一般都是这样的手动操作: 参考:http://blog.51cto.com/freedyong/1361907 ...

  9. 【spring】在spring cloud项目中使用@ControllerAdvice做自定义异常拦截,无效 解决原因

    之前在spring boot服务中使用@ControllerAdvice做自定义异常拦截,完全没有问题!!! GitHub源码地址: 但是现在在spring cloud中使用@ControllerAd ...

  10. Java:Spi 小实战

    背景 Java 中区分 Api 和 Spi,通俗的讲:Api 和 Spi 都是相对的概念,他们的差别只在语义上,Api 直接被应用开发人员使用,Spi 被框架扩张人员使用,详细内容可以看:http:/ ...