Android Sqlite特别版是一款可以帮助用户查看安卓手机数据资料的数据库引擎,我们不仅可以通过这款软件来打开安卓手机上的所有数据,同时还可以对这些Sqlite数据进行管理和编辑。当你需要对安卓数据库进行升级的时候,也可以通过这款软件来快速完成哦!
安卓里常用的存储有方法中少不了数据库的使用,主要是对单表的操作,多表的操作此处不涉及。每次使用数据库都会有繁琐的代码要写,大致思路是继承自SQLiteOpenHelper写一个数据库操作子类,然后重写onCreate方法,写上数据库的建表语句,重写onUpgrade方法,写上数据库的升级执行代码,此外还有繁琐的增、删、改、查语句。每次建一张表都要做这些重复的工作,能不能用一种通用的方法,把这些繁琐的事务交给程序自动去完成呢?代码里告诉你答案。
1、编辑Root手机的所有数据库
2、打开数据库
3、列出表,视图和索引
4、选择SQL历史,从查询表单
5、导出数据库到SQL脚本和脚本来恢复数据库
6、导入的CSV文件导出-执行SQL脚本,完整的脚本或者单行
7、SQLite不数据录入过程中验证数据类型
8、显示数据,结构和定义的SQL表和视图
9、执行任何SQL包括“落差”/“创建”语句
10、新增并从数据浏览器编辑记录
11、存储在打开的数据库中的所有执行的语句
12、在数据列表中配置的字体大小
13、位于在“Dropbox的”文件夹数据库简易编辑
写一下android操作数据库中的一些准备。
首先,配一下adb的环境变量,因为每次都要到adb的目录下去启动实在太麻烦了,下面是具体步骤,当然也可以该其他文件,我习惯改这个,可以改完后可以source一下使它生效。
1、sudogedit/etc/profile
2、将下面的两句加到上面打开的文件里
exportANDROID_HOME=/home/sdk文件路径
exportPATH=$PATH:$ANDROID_HOME/platform-tools
3、重启电脑,大功告成!!
adb配好以后,我们最好还要给手机里的数据库访问的权限,一般在/data/data/包名/database里面,用adbshell进入后su获得手机root权限,然后给权限chmod。
要读数据库文件的话就用命令sqlite3数据库文件,其中的数据库可以直接在adbshell中运行sqlite3,但我按照网上弄的就是不能在adbshell中打开sqlite3数据库,说命令没有找到,我该传的文件都传了,没办法,只有在eclipse里的ddms的fileexplore里把数据库文件到处然后在Linux终端里运行sqlite3数据库来看了。
还有要注意的是写sql语句时一定要注意"select*from"+TABLE_NAME中的from和引号要留有空格,不然的话就连在一起了。
下面的有一个知识要讲一下,sqlite的增加,删除等操作都挺简单的,麻烦的就是查询操作,一般都借用Cursor来保存查询数据,一开始我没怎么注意这是一个指针类型,指向数据库里的数据,而我一开始写的时候把数据库的关闭操作写在了Cursor操作的前面,也就是说先把数据库关闭了再对Cursor对象进行操作,这样的话就造成了Cursor的空指针,也就注定杯具了好久。。。
Android中SQLite数据库的创建:
创建一个类继承SQLiteOpenHelper,重写onCreate()方法,并在此方法中执行创建数据库的命令,如下图:
写数据库的构造方法,用来定义数据库的名称,数据库查询结果集,以及数据库的版本,如下图:
初始化数据库的表结构,执行一条建表的SQL语句如下图:
当数据库的版本增加时调用方法,如下图:
1、为什么要把已存在数据库文件放在res/raw文件夹下, 放在其它地方可以吗?
如果放在res/raw文件夹下,数据库文件在apk打包的时候就必须确定并且不可更改,否则每次都要重新编译生成apk,在使用的时候会很麻烦,所以最好是将数据库文件放置在sd卡的某个位置。
经过验证得知,数据库文件可以放置到其它位置,例如sd卡的某个位置,至于放在什么位置根据具体情景来觉得,上面的代码只是一个例子而已,当然放在不同的位置,访问文件的时候的方式也不一样。当然注意要访问sd卡的时候一定要在AndroidManifest.xml文件中添加访问sd卡的权限。
2、上面的代码没有判断已存在的数据库文件是否存在?
一是为了代码的严谨性考虑,二是因为在特殊的机子上可能不需要之前已经存在的数据库,希望自己配置并生成数据库,此时就不需要复制之前的数据库。
这个问题根据实际情景来决定是否需要判断已存在的数据库文件是否存在,判断的时候根据数据库文件放置的位置不同而不同,另外如果防止在res/raw文件夹下没有办法判断数据库文件是否存在,因为访问res/raw文件夹下的文件使用的方法是R.raw.xxx,如果文件不存在,没办法得到数据库文件的对象,所以也就没办法判断,补充一个知识res/raw文件夹下的文件的绝对路径是”android.resource://”+ getPackageName() + R.raw.xxx。
……
点击下载编程软件 >>本地高速下载
点击下载编程软件 >>百度网盘下载