五一在家给 wanandroid 开发了一个新的功能,可以快速查Google 仓库的一些库的版本。

我又开发了一个“沙雕”功能!

1 曾经的遗憾

这个功能其实很早的时候我就尝试过,那会还在百度工作,第一版本的代码是我同事帮我写的,有个比较有意思的插曲,那会他学python,跟我说python写爬虫贼溜,结果写到一半,默默改成了Java编写…

当时的默认仓库还是jcenter,所以我准备在wanandroid上提供jcenter上所有库信息的搜索。

最后程序写好了,连续跑了好久好久好久,发现jcenter上的库实在是太多了,完全不现实。

这个功能就失败了。

这次五一在家,发现google的maven repo下就140多个package,而且google现在也替代jcenter成为了默认的仓库。

所以我在带娃的空隙,快速写了点验证的代码,发现完全可行。

效果如下:
我又开发了一个“沙雕”功能!

我直接在左侧把所有的package列出来了,点击就是搜索能力展现,这样这个页面的功能很直观,其实这个页面内容的设计费了我好多脑细胞。

中间也有个小插曲,本来我写完后台,是等我媳妇来给我写前端页面的,后来看带娃的情形是不太现实了,所以我自己默默用自己三脚猫的功夫把前端页面也做了。

然后我就立即上线了,分别在朋友圈,知识星球,自己交流群中发了链接,就为了多一些曝光,测试下功能稳定性、可用性。

2 对外开放数据

第二天感觉功能还算稳定,wanandroid的第一原则就是将可公开数据开放对外,方便大家学习使用,所以我就着手开始对外提供open api。

说起来也真是巧,我正在写开放代码的时候,小缘私聊我,给我发了个视频,发现他正在用jsoup抓取页面数据,在写Android Studio插件,所以我就赶紧上线了。

对外接口能力如下:

获取所有包名

https://wanandroid.com/maven_pom/package/json

方法:GET

返回数据:


{
    "data": [
        "android.arch.core",
        "android.arch.lifecycle",
        "android.arch.navigation",
        "android.arch.paging",
        ...
    ],
    "errorCode": 0,
    "errorMsg": ""
}

查询接口

https://wanandroid.com/maven_pom/search/json?k=viewpager2

方法:GET

参数:k

返回数据:


{
    "data": [
        {
            "artifactMap": {
                "viewpager2": [ // artifactName
                    {
                        "artifact": "viewpager2",
                        "content": "implementation 'androidx.viewpager2:viewpager2:1.0.0-alpha01'",
                        "date": null,
                        "group": "androidx.viewpager2",
                        "id": 3918,
                        "version": "1.0.0-alpha01"
                    },
                ]
            },
            "groupName": "androidx.viewpager2" // 所属groupName
        }
    ],
    "errorCode": 0,
    "errorMsg": ""
}

groupName : group信息;

artifactMap

  • key: aar的名称(一个group下可能多个)

  • value aar的具体版本信息(一个aar可能有多个版本)

开放Api的目的,就是大家可以利用API做一些有意思的小东西:

  • app端能力;

  • Android Studio 插件,可以输入关键词引入库的版本;

当然你有什么好的玩法,欢迎自己尝试,如果有接口上的需求,可以联系我,我会尽快提供。

3 首页入口

当然功能上线,首页应该有个足够显眼的入口,我给这个能力的定位,目前就是一个小工具,所以未来会在工具列表中。

如下:

我又开发了一个“沙雕”功能!
这次顺便把工具列表改成了统一的颜色,这样我可以给新增的工具加上特殊的颜色,以达到醒目的目的。

4 后续展望

有了这部分数据,后续我们会在wanandroid首页显示近一周/月 google哪些库发布了新版本,这样大家可以第一时间了解到google的最新技术动态。

后续也会考虑这些库支持订阅,如果有新版本更新,会通过站内信方式通知你。

每个假期,我都会花一点时间思考wanandroid的功能,由于只有我一个人维护,所以有些耗时的能力,我也处于不敢尝试的状态,例如翻译国外优质的Android技术文章等。

不过大家可以放心的是,虽然无法迈大步,但是小步伐还是一步一步向前的

基于开放数据的第一款 AS 插件已经在开发了,后面在单独给大家分享小缘写的插件。

奔涌吧,wanandroid!

欢迎体验新功能,希望对你有帮助,也希望大家多多给朋友分享wanandroid。

https://wanandroid.com

推荐阅读:

来一波 Studio 精品插件推荐
这是一份面向Android开发者的复习指南
暗黑模式?安卓适配一波

我又开发了一个“沙雕”功能!
我又开发了一个“沙雕”功能!

扫一扫 关注我的公众号

如果你想要跟大家分享你的文章,欢迎投稿~

┏(^0^)┛明天见!