android sqlite 初次尝试遇到的坑

转载请注明出处:(http://blog.csdn.net/qq_35071078/article/details/70149064

android sqlite 初次使用遇到的坑

前言

最近尝试写一个单机版的app,用sqlite来存储数据,之前对没用过sqlite,于是乎在网上搜索了下,各种大牛的博客不计其数,看了他们的博客后确实有了一定的了解,但是自己动起手来,总是有那么些坑,让你不得不掉下去。

  • sqlite创建后的默认存储位置
    其实网上各个大牛的博客中已经写的很清楚了,默认创建后的数据库文件是存储在 data/data/应用的包名/database 里。但是这个坑就出现在这里。作为程序员,好奇心肯定是要有的,在程序成功运行并且创建完了数据库后,就想去看一看究竟,到底有没有这个数据库,就赶快打开文件管理去看,卧槽,居然没有,然后马上又打开android device monitor来查看,卧槽,又没有。这尼玛,一模一样的代码,怎么会没有了?对android文件系统熟悉点的朋友可能马上会反应到:没有root权限,查看不到。但是对于像我们这种小白来说,怎么可能知道,data目录一片空白。其实确实是创建成功了的,只不过由于没有root权限,看不到罢了

  • DBHelper (继承的SQLiteOpenHelper )为什么不执行oncreate
    这个很简单,要么就是这个数据库已经存在了,不需要再次创建了。如果数据库不存在却也没有执行onCreate,在调dbhelper的getReadableDatabasegetWritableDatabase时就会创建了。

  • sqlite是可以直接使用已存在的数据库的
    这句话的意思就是说,你可以在你的pc中建好你所需要的数据库,添加好数据,然后将这个数据库文件(也就是 .db文件)放到 data/data/应用的包名/database 里去,具体步骤:可以将.db文件放到android assests目录下,在适当的实际,用文件读写流将这个.db文件放到 data/data/应用的包名/database 里(应该是也可以放到其他的地方,大家可以试一试),然后就直接可以使用了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值