返回 登录
0

Android对SQLite的"增删改查"

阅读1752

大学期间一直想写一下Android对SQLite的使用,不知道为什么一直没写,大概是懒吧,毕业前简直玩疯了。工作以后,公司给我一个Android版的APP,让我开发一个一样功能的iOS版APP,Demo中有用到SQLite,但是一个记住登录密码的Flag和密码竟然要用到SQLite?好像有点大材小用的感觉,个人拙见SharedPreferences(偏好设置)好像就够用了。
不过这并不影响我要尝试着写一下SQLite的决心,目标是要有的,万一哪天心血来潮去实现了呢。好了,闲话少说,开始我的SQLite Demo。
我用的Android Studio,毕竟要随波逐流,不然要被淘汰了。查看数据库的软件是SQLite Expert Personal 4.x 传送门:http://www.sqliteexpert.com/download.html
首先,我们新建一个Android Project,这点就不在细说,还是那句话,能玩到SQLite的人,新建个工程应该不是问题。这里还有一点,就是Android不需要像Java工程一样,添加SQLite.jar。这个是可以直接用的。
第一步,新建表格
图片描述
如图,数据库的名字叫Zhan.db,然后打开这个数据库,并设定一些限制。随后如果数据库中有ichampion这个表格的话,不管三七二十一先删除,再创建一个ichampion表格,这里有一句“IF NOT EXISTS”解释一下,这句话的意思是先检查数据库里面有没有这个表格,如果没有就创建,已经有了的话就跳过执行这条命令。同理,上面删除的命令,“IF EXISTS”则是检查是否存在ichampion表格,如果存在就删除。创建完表格后,设定_id为主键,属性AUTOINCREMENT为自动增长,这点之前一篇博客《Java对SQLite的”增删改查”》也写了作用了。_id后面跟两个字段,name和age。
本Demo只是简单的对SQLite进行操作,所以所有功能写成函数调用,这样比较直观。首先执行OpenCreateDB()。然后我们打开Android Device Monitor
图片描述
就会出现模拟器的文件管理器,找到data文件夹下的data文件夹
图片描述
找到工程名的文件,打开database就能看到刚刚新建的Zhan.db了
图片描述
然后选择右上角箭头所指的图标,把Zhan.db导出到自己知道的位置
图片描述
用SQLite Expert Personal 4.1打开Zhan.db,可以看到里面有一个是Android默认存在的表格(我们就忽略它了),一个是程序创建的表格ichampion,里面有_id,name,age。
图片描述
接下来就是插入数据,这里用了5种方式两大格式,都是可以的,看个人喜好来写,如果数据量大,可以用for循环写入数据。因为_id是自动增长的,所以_id就算为空(不写或者写null)也可以。当然也可以设定_id的值。
图片描述
查看insert结果
图片描述
有了数据以后,就要想着更新数据了,这里就更新两个数据,同样用两种语法
图片描述
可以看到_id等于2的那条记录name由ichampion变成了ichampionT,名为xyz的记录age变成了6.
图片描述
有更新的数据,肯定也有不再需要的数据,所以要delete
图片描述
就这样删除了一条name=xyz的记录
图片描述
当然,有时候程序肯定还要做一些特别的事情,比如分分类什么的,例如下面这个,查看大于10岁的人,根据上图得知,我们删除了一条记录,还剩4条,其中ichampionT和Michael Zhan是大于10岁的。
图片描述
打印输出两条记录:_id、name、age
图片描述
最后我们也不排除需要查看整个表格数据内容的情况,所以需要全部获取
图片描述
结果,输出所有记录
图片描述
用完数据库不要忘记关闭,节约系统资源。
图片描述
最后,在补充一些SQL语句

图片描述

本文代码参考:郑海波(莫川)的CSDN博客 http://blog.csdn.net/nupt123456789/article/details/7891887
本文资料参考:深海的博客 http://blog.sina.com.cn/s/blog_63537a150100sthf.html

评论