Open phenomLi opened 6 years ago
在android开发里,要做数据持久化,我们通常可以选择SharedPreferences或者android自带的关系型数据库SQLite。但是一般来讲SharedPreferences只适合于存放一些离散的数据,比如设置项,或者其他的客户端信息。而对于大量的,重复的数据,最好是使用SQLite进行存放。 但是我们进行数据库开发的时候,为了检测表中的数据是否发生了更变,通常需要一些可视化的工具帮助我们调试。SQLite也是一样,但是我们不能直接在文件管理器看到SQLite的信息,但是我们可以利用下面的工具进行SQLite的调试。
SharedPreferences
SQLite
adb是AndroidSDK中自带的调试工具,使用adb可以调试android的各种操作,当然也可以调试SQLite。
使用此方法前首先要确认配置好了当前操作系统的环境变量
1.首先我们使用adb shell命令进入adb: 2.然后使用su进入管理员模式(不然限权不够): 3.进入SQLite文件的存放目录,目录是/data/data/你的包名/databases: 4.进入了目录之后,我们就可以查看SQLite的数据库了。使用sqlite3 你的数据库名称.db命令进入数据库: 我的数据库名称是notes。 5.进入某个数据库之后,使用.tables命令可以查看当前数据库下的所有表: NotesTable是我新建的表,而android_metadata是android系统内置的表,不必理会。 6.到了这一步之后,基本大功告成了,想要查看表中哪些元组,直接敲sql语句就行,切记末尾一定要加空格,不然不能识别:
adb shell
su
/data/data/你的包名/databases
sqlite3 你的数据库名称.db
.tables
NotesTable
android_metadata
说实话,传统的adb方式未免有些反人类,每次调试都要敲sql语句的确有些恶心。幸好我们有更好的选择:SQLiteStudio,一个SQLite的可视化工具,貌似是免费的,反正有了它以后就不用再Terminal里面敲各种sql了,爽爆。 SQLiteStudio的配置过程想比adb或许有些繁琐,但是想要用好东西有些付出不是很正常嘛。 1.首先下载好SQLiteStudio(废话)。 2.在SQLiteStudio的 设置->插件->Database support 中勾选 Android SQLite: 3.因为SQLiteStudio是通过端口访问设备(不管是虚拟设备还是USB设备)的,所以要在AndroidManifest中申请网络权限: 4.在SQLiteStudio中点击 工具->Get Android connector JAR file,选择你的项目的lib文件夹,生成一个连接文件: 5.回到AS,在你的项目,右键->Open Module Settings,如图所示,选择刚刚生成的连接文件,将其引入到你的项目中: 6.接下来这一步非常重要,首先在项目中importSQLiteStudio的连接文件,然后我们要在要使用SQLite的Activity中的onCreate生命周期钩子中,并且在实例化DatabaseHelper之后(一定要在之后,不然会出错!)实例化并开始我们的SQLiteStudio连接:
AndroidManifest
import
Activity
onCreate
DatabaseHelper
建议在onDestroy生命周期钩子中释放连接,不然当Activity被销毁时端口还会一直被占用。
onDestroy
到了这一步就基本完成了,之后我们就要在SQLiteStudio连接你的数据库了。 7.用USB连接你的android设备或者打开你的模拟器(一定要,不然会找不到设备!),回到SQLiteStudio,选择 数据库->添加数据库,数据类型选择Android SQLite,这时会看见你的设备(我这里是模拟器),然后也会显示你设备里面的数据库(如果有的话),其他选项默认就好,不用动。 8.添加之后,(如无意外)就会看见数据库里面的情况了,熟悉navicat的,应该很快就能上手。
在android开发里,要做数据持久化,我们通常可以选择
SharedPreferences
或者android自带的关系型数据库SQLite
。但是一般来讲SharedPreferences
只适合于存放一些离散的数据,比如设置项,或者其他的客户端信息。而对于大量的,重复的数据,最好是使用SQLite进行存放。但是我们进行数据库开发的时候,为了检测表中的数据是否发生了更变,通常需要一些可视化的工具帮助我们调试。SQLite也是一样,但是我们不能直接在文件管理器看到SQLite的信息,但是我们可以利用下面的工具进行SQLite的调试。
传统的方法:使用adb进行调试
adb是AndroidSDK中自带的调试工具,使用adb可以调试android的各种操作,当然也可以调试SQLite。
1.首先我们使用
![](https://github.com/phenomLi/myBlog/raw/master/photos/2018-4-7/WX20180407-163500.png)
我的数据库名称是notes。
![](https://github.com/phenomLi/myBlog/raw/master/photos/2018-4-7/WX20180407-163953.png)
adb shell
命令进入adb:2.然后使用
su
进入管理员模式(不然限权不够):3.进入SQLite文件的存放目录,目录是
/data/data/你的包名/databases
:4.进入了目录之后,我们就可以查看SQLite的数据库了。使用
sqlite3 你的数据库名称.db
命令进入数据库:5.进入某个数据库之后,使用
.tables
命令可以查看当前数据库下的所有表:NotesTable
是我新建的表,而android_metadata
是android系统内置的表,不必理会。6.到了这一步之后,基本大功告成了,想要查看表中哪些元组,直接敲sql语句就行,切记末尾一定要加空格,不然不能识别:
更好的选择:使用SQLiteStudio
说实话,传统的adb方式未免有些反人类,每次调试都要敲sql语句的确有些恶心。幸好我们有更好的选择:SQLiteStudio,一个SQLite的可视化工具,貌似是免费的,反正有了它以后就不用再Terminal里面敲各种sql了,爽爆。
![](https://github.com/phenomLi/myBlog/raw/master/photos/2018-4-7/WX20180407-172902.png)
SQLiteStudio的配置过程想比adb或许有些繁琐,但是想要用好东西有些付出不是很正常嘛。
1.首先下载好SQLiteStudio(废话)。
2.在SQLiteStudio的 设置->插件->Database support 中勾选 Android SQLite:
3.因为SQLiteStudio是通过端口访问设备(不管是虚拟设备还是USB设备)的,所以要在
AndroidManifest
中申请网络权限:4.在SQLiteStudio中点击 工具->Get Android connector JAR file,选择你的项目的lib文件夹,生成一个连接文件:
5.回到AS,在你的项目,右键->Open Module Settings,如图所示,选择刚刚生成的连接文件,将其引入到你的项目中:
6.接下来这一步非常重要,首先在项目中
import
SQLiteStudio的连接文件,然后我们要在要使用SQLite的Activity
中的onCreate
生命周期钩子中,并且在实例化DatabaseHelper
之后(一定要在之后,不然会出错!)实例化并开始我们的SQLiteStudio连接:到了这一步就基本完成了,之后我们就要在SQLiteStudio连接你的数据库了。
![](https://github.com/phenomLi/myBlog/raw/master/photos/2018-4-7/WX20180407-173147.png)
7.用USB连接你的android设备或者打开你的模拟器(一定要,不然会找不到设备!),回到SQLiteStudio,选择 数据库->添加数据库,数据类型选择Android SQLite,这时会看见你的设备(我这里是模拟器),然后也会显示你设备里面的数据库(如果有的话),其他选项默认就好,不用动。
8.添加之后,(如无意外)就会看见数据库里面的情况了,熟悉navicat的,应该很快就能上手。