Android provider中使用sqlite内存数据库
2024-08-29 00:30:30
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
最新文章
- 浅谈对Js闭包的理解
- springMVC参数传递
- 【转】探索C#之布隆过滤器(Bloom filter)
- php缓存技术(减少数据库服务器压力)
- Vi命令:如何删除全部内容?
- Multiple actions were found that match the request Web API
- Java in a Nutshell学习笔记
- 获取 input 单选框和多选框的值
- jackson反序列化时忽略不需要的字段(zhuan)
- Python标准库
- 在iis中mantisbt配置过程
- 第12届北师大校赛热身赛第二场 A.不和谐的长难句1
- [转]iOS Anti-Debugging Protections
- JavaScript星级评分
- spring boot / cloud (七) 使用@Retryable来进行重处理
- 【编程练习】收集的一些c++代码片,算法排序,读文件,写日志,快速求积分等等
- Java Script 读书笔记 (四) 面向对象编程
- .Net Project 常规结构
- 用Python进行SQLite数据库操作
- 爬虫基础之urllib库
热门文章
- linux——(6)vim与vi
- ubuntu16.04系统上安装CAJViewer方法步骤教程详解
- Vue 2.0学习(五)v-bind及class与style绑定
- FastReport.Net使用:[18]形状(Shape)控件用法
- 关于那些oj链接
- JZYZOJ1998 [bzoj3223] 文艺平衡树 splay 平衡树
- loj2576 「TJOI2018」str
- 区间DP--凸多边形三角剖分
- bzoj4034 树上操作
- [转] Spring MVC 4.1.3 + MyBatis 零基础搭建Web开发框架