Android对SQLite的"增删改查"——SQLiteDatabase

大学期间一直想写一下Android对SQLite的使用,不知道为什么一直没写,大概是懒吧,毕业前简直玩疯了。工作以后,公司给我一个Android版的APP Demo,让我开发一个功能一模一样的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。这个是可以直接用的。

这里我是用SQLiteDatabase写的,因为这样写起来比较随意,想怎么写就怎么写,不需要创建继承类什么的,比较直观。
第一步,新建表格


如图,数据库的名字叫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

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值