安卓开发者使用本地SQLite须知

由于开发需要,最近在学习安卓本地数据库的使用。一开始想使用LitePal框架实现,经过一番配置之后,一个简单的Demo跑了起来,使用开发者助手查看数据库,db文件成功创建,但是打开db文件却只有一个默认表,并没有我想创建的表,我以为是LitePal 没有配置好,反复仔细检查了好几次,最终也没有找到问题的所在,我只好老老实实地使用安卓的SQLiteOpenHelper了,经过较复杂的一番配置,新的Demo跑了起来,非常意外的是结果和LitePal的Demo一样,只有库没有表。我打开应用的databases文件夹发现除了db文件外还有后缀为db-shm和db-wal的文件,一开始以为这两个是日志之类的文件就忽略了,又是一番修改,使用开发者助手查看数据库,结果依旧如初。万分无奈,我有下载了一个数据库查看软件,把三个文件复制出来打开,发现我要的表和Demo的测试数据都在。经过百度得知,db-shm和db-wal是SQLite 3.7的新特性,在修改数据库时,做出了修改会临时存储在这两个文件中,经过一段时间后修改的内容才会被写入db文件。

发布了6 篇原创文章 · 获赞 2 · 访问量 1062

猜你喜欢

转载自blog.csdn.net/qq_27502585/article/details/98479663