那么现在,我认为这可以算是一个相对比较稳定的版本了。但是由于毕竟是全新的开源库,我还不敢直接发布1.0.0版本,因此这次发布的是1.0.0-alpha01版本。大家如果在使用的过程中发现了任何问题,很正常,反馈给我即可,我会尽快进行修复。
好了,接下来就向大家介绍Glance的具体用法吧。其实真的非常非常简单,只需要使用如下语句将Glance引入到你的项目当中:
dependencies {
debugImplementation ‘com.glance.guolindev:glance:1.0.0-alpha01’
}
然后就结束了。
没错,就是这么简单,Glance没有提供任何对外的API,所以也不需要你进行什么代码对接操作,只要将依赖库引入到你的项目当中,就算是对接完成了。
注意上述的引用语句中我们使用的关键字是debugImplementation,这个关键字相信大家用的比较少,通常我们使用的都是implementation关键字。那么debugImplementation是什么意思呢?它表示只有在你的项目是debug版的时候,才会将Glance引入到你的项目当中,而release版是不会包含Glance库的。
这是一种最为安全的做法,因为如果release版中引入了Glance库,相当于给你的应用程序留了个后门,是有可能引起数据库安全问题的。
接下来就像平常那样运行你的程序就可以了,你会发现,你的手机桌面上将会多出一个Glance的图片,如下图所示。
这个图标就是引入了Glance库之后自动生成的,点击该图标即可打开Glance的可视化界面,如下图所示。
在这里,Glance会自动开始扫描当前应用程序的内置和外置存储空间,将所有的数据库文档全部搜索到,并一一列出。
比如上图中的demo1.db就是我当前项目工程中的一个数据库文件,internal storage表示它是存放在内置存储空间下的。
点击demo1.db,即可打开这个数据库文件,并将该数据库中的所有表罗列出来,如下图所示。
当然这里列出的表并不全部都是由我们自己创建的,比如android_metadata、sqlite_sequence这些表就是自动生成的。但Glance并不会对此进行区分,而是会把它们全部罗列出来。
接下来点击magazine表,我们即可查看表中的数据。横向滚动可以查看所有的列,纵向滚动可以查看所有的行,如下图所示。
这里对表中的数据进行加载使用了分页技术,所以即使你的表中有上百万条数据,也会非常快速地加载出来。而Glance的分页技术是使用Paging3实现的,对Paging3感兴趣的朋友可以参考参考这部分的源码。
到这里为止,我们就可以非常方便地随时查看当前应用程序数据库中的数据了。相比于之前还要想办法导出数据库文件,发送到电脑上,再借助第三方工具进行查看,是不是简单了千百倍?
即使相比于Database Inspector,我认为Glance也是有很大优势的,毕竟你不需要借助电脑,也不需要打开Android Studio才能查看。
另外,假如你的数据库文件发生了变化,Glance也可以迅速地感知到。比如我们向当前应用程序的外置存储空间当中添加一个新的数据库文件,如下图所示。
可以看到,当回到Glance的可视化界面之后,迅速就能发现新增了一个demo2.db,external storage表示它是存放在空间存储空间下的。
然后我们就可以立刻查看demo2.db当中的全部数据了。
那么关于Glance的用法介绍到这里大概就差不多了。因为毕竟它的主要功能就是一个辅助型的工具,并不是什么需要去开发和对接的库,所以整体用法是非常简单的。
接下来我想聊一聊Glance的限制,至少在目前第一个版本中,这些限制是需要提醒大家的。
首先,Glance只提供对数据库进行查看的功能,并不提供修改和删除的功能。当然之所以不支持修改和删除,并不是因为什么其他特殊的原因,纯粹只是因为我没时间。为了能赶在今年内上线第一个版本,我选择了只开发了最核心的查看功能。
在接下来的版本更新当中,修改和删除数据库的功能会有极大的概率被加入进去。
第二,Glance只支持使用AndroidX架构的项目,并且未来也只会支持AndroidX架构。如果你的项目还在使用Support Library架构,那么很遗憾,你将无法使用Glance。
关于这个限制我其实思考了很久,因为本身查看数据库功能和AndroidX架构一点关系都没有。但是我在Glance当中使用了大量最新的Google技术,如协程、Paging3、App Startup等等,这些新技术都是只支持AndroidX架构的。那么到底是为了更好的兼容性而不使用这些新技术,还是为了让Glance更具有学习意义而使用这些新技术,我最终选择了后者。
另外我相信,AndroidX终将是趋势,即使现在还在使用Support Library的项目,在不久的将来也必然会转换到AndroidX架构上,所以对此我并不是很担心。
好了,关于Glance第一个版本的所有介绍就到这里。也很高兴我将今年定下的最后一个小目标也实现了,这一年真的可以说是收获满满。
最后附上Glance的开源库地址,想学习源码的朋友不要错过哦。另外也请帮我随手点个star,谢谢大家。
github.com/guolindev/G…
如果想要学习Kotlin和最新的Android知识,可以参考我的新书 《第一行代码 第3版》,点击此处查看详情。
关注我的技术公众号,每个工作日都有优质技术文章推送。
总结
可以看出,笔者的工作学习模式便是由以下 「六个要点」 组成:
❝ 多层次的工作/学习计划 + 番茄工作法 + 定额工作法 + 批处理 + 多任务并行 + 图层工作法❞
希望大家能将这些要点融入自己的工作学习当中,我相信一定会工作与学习地更富有成效。
下面是我学习用到的一些书籍学习导图,以及系统的学习资料。每一个知识点,都有对应的导图,学习的资料,视频,面试题目。
**如:我需要学习 **Flutter的知识。(大家可以参考我的学习方法)
- Flutter 的思维导图(无论学习什么,有学习路线都会事半功倍)
- Flutter进阶学习全套手册
- Flutter进阶学习全套视频
大概就上面这几个步骤,这样学习不仅高效,而且能系统的学习新的知识。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
01)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!