开发中查看数据库是个麻烦事,以前是先把数据库文件从手机里pull出来,然后用DB Browser for SQLite软件打开。后来用过一个数据库调试工具:Android Debug Database。
今天再介绍一个数据库调试工具库:Glance。此Glance非彼Glance,Jetpack中也有一个名为Glance的库,目的是用Compose样式的 API 构建远程Surface布局。
本篇要介绍的Glance出自郭霖大神。相信很多安卓开发者对郭霖这个名字并不陌生,他写的《第一行代码——Android》是不少安卓开发者的启蒙书籍,一经出版就获得广泛的认可和好评。16年偶然淘到了这本书,19年毕业之后工作方向也是安卓,算是机缘巧合。
GitHub:https://github.com/guolindev/Glance
参考了LeakCanary库,借助ContentProvider实现对项目代码零入侵集成。使用非常方便,只需要在模块的build.gradle中添加下面的依赖:
dependencies { debugImplementation 'com.guolindev.glance:glance:1.1.0' }
由于使用的是debugImplementation,所以只有debug调试版本才会集成,不会影响到正式环境的release版本。安装调试版在会自动生成一个与应用同名的图标,icon如下:
打开就可以查看到当前应用的数据库文件:
点击需要查看的数据库,将数据库中的表全部列出来:
再选择查看表中的数据:
除了查看数据库内容,还可以进行修改。双击条目弹出对话框,修改指定的内容APPLY即可:
有小伙伴提出了长按复制的建议issue,被郭霖采纳。但使用时发现只集成在alpha版本中,最新的正式版本并没有带上这个feature。郭霖给的解释是增加了编辑的功能,编辑的同时也能复制,就把长按复制功能去掉了。emmm,好像并不冲突,长按复制和双击编辑。
//带长按复制的功能 debugImplementation 'com.glance.guolindev:glance:1.0.0-alpha02'
没有搜索功能,如果数据库内容比较多的话,查看还是比较费力的,不如在PC端方便。
Android Studio 自带数据库查看工具:App Inspection,开发调试时用来查看、修改数据库也是非常方便的。不过有时候用不了这个功能(StackFlow:Android Studio App Inspection does not show database at times),这对经常出问题的Android Studio来说太正常了。
郭霖博客:
郭霖的专栏 > Glance
我又开发了一个非常好用的开源库,调试Android数据库有救了
新版Glance发布,更好用的Android数据库调试助手