专栏首页呼啸长风的专栏造了四个轮子之后,我们上路跑一跑
原创

造了四个轮子之后,我们上路跑一跑

一、前言

最近相继发布了四个开源项目,都是比较轻量的项目。

造完轮子,很自然的想到要弄个App来跑一下。

在搬APP出来之前,先介绍下这几个轮子吧。

二、轮子

昨晚我在秋名山输给一辆五菱宏光, 他用惯性飘移过弯,他的车很快,我只看到他有个修楼房漏水的招牌。 如果知道他是谁的话,麻烦你们跟他说一声:礼拜六晚,我会在秋名山等他。

秋明山车神之所以开得快,不单是因为技术好,车神老爸对车子的调优也很重要,比如给车配了好轮子……编不下去了 -_-

LightKV

项目地址:LightKV

高性能key-value存储组件,相比SharedPreferences有全方位的改进。

支持Kotlin属性委托,在Kotlin环境下使用,可以像读写变量一样读写配置。

推荐指数:★★★★

LightEvent

项目地址:LightEvent

轻量级事件通信方案(类似于EventBus的作用),不到50行代码。

简单到极致,使用也很方便。

推荐指数:★★★

Task

项目地址:Task

实用的线程调度框架,针对App开发的使用场景做了适用性封装。

支持优先级,适配生命周期,支持任务分组,任务去重;

可直接执行任务,可用于RxJava, 可替换AsyncTask。

推荐指数:★★★★

Doodle

项目地址:Doodle

高效的图片加载框架。

功能完备,实现清晰。

推荐指数:★★★★★

三、应用

四个轮子中有一个是图片加载的,所以第一时间想到的就是做一个浏览图片相关的APP。

如果仅仅是加载本地相册什么的就没意思了,可以做一个浏览图片素材网站的APP。

当然不是直接拿WebView去打开别人的网站,这样体验不好;

可以解析网站中的图片地址(没错,就是爬虫-_-),用 RecyclerView + ImageView 显示,这样会比WebView流畅一些。

下面是几张效果图:

这些是从花瓣网下载的图片,花瓣网的素材还是不错的,而且更新得很快。

App只预置了几个频道,页面什么的也比较“朴素”,没有设计师,凑合着着吧。

遇到喜欢的图片想下载回来怎么办?

虽然功能简单的不能再简单了,但是“刚需”还是要提供的:

可以设置存储路径,然后点击图片详情页右上角的“下载”即可。

侧滑栏可以点击“已下载”查看下载好的图片,或者设置路径到SDCard的Picture目录,用系统的图片浏览器打开-_-

有的图片是长图,详情页是用PhotoView显示的图片(提供友好的缩放交互), 其继承于ImageView, 然后对于宽或者高大约4096的图片,显示不出来。

所以遇到这样的图片,可以下载回来,用系统的图片浏览器打开……

主要是笔者一时没找到可以像PhotoView这样支持缩放,而又支持长图的控件。有用过这样的控件的读者可以推荐一下。

除了花瓣网之外,还支持老外的一个图片网站:unsplash

这个网站都是高清相机拍的图片,原图都是几M上下。还好网站提供了指定分辨率下载的API,所以图片预览无压力。

遗憾的是这个网站没有按频道划分,只有关键字索引,不过也可以自定义关键字来作为频道分组了。

四、总结

上面四个轮子最简单的LightEvent只有不到50行代码,最复杂的Doodle也不过100K,都是轻量级的组件。

最近Kotlin比较火,所以顺势尝试尽量用Kotlin来实现(改写)。

Kotlin编写代码确实相对Java总体上要更简洁,很多人说能省1/3的代码;

这个我没有具体去算过,从这段时间的体会来看,有部代码确实可以写得比Java简洁,尤其是集合运算,以及能用上Lambda的地方。

Java 8也有Lambda, 这里我们就不讨论太多了,以免引入纷争。

个人的体验是,写业务代码可以尽量用Kotlin,写基础组件还是用Java划算一些:

相对于业务代码,基础组件从Java到Kotlin,并不会减少多少代码,反而Jar包会变大,大约增加50%的体积。

五、下载

项目已发布到github, 项目地址:https://github.com/No89757/Collector

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 四个轮子一块木板,传统企业的电商之路也能跑起来!

    在“1999年,马云的业务员找我们建黄页,现在我们的业务量有望跑过天猫国际和考拉”一文中, 场主带大家了解了第一批互联网人——丁建东,长居技术管理岗位,也做过基...

    养码场
  • 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?

    昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从...

    美的让人心动
  • 脚踩风火轮,轮-腿混合式复杂地形ANYmal机器人首次亮相

    这是 ANYmal 机器人给出的最新解决方案,论文一作是苏黎世联邦理工学院的博士研究员 Marko Bjelonic。这种腿和轮子混合的机制意味着该机器人不仅能...

    机器之心
  • 解一道经典的腾讯算法面试题(小白也能看懂)

    算法,对于一个程序员还是非常重要的,它不单单能体现你的数学思维,还能体现出一种逻辑能力,如果你要进BAT这样的大厂,请一定重视算法,它是你的必经之路。

    帅地
  • 解一道经典的腾讯算法面试题(小白也能看懂)

    算法,对于一个程序员还是非常重要的,它不单单能体现你的数学思维,还能体现出一种逻辑能力,如果你要进BAT这样的大厂,请一定重视算法,它是你的必经之路。

    用户1462769
  • [零基础学python]啰嗦的除法

    看到没有?麻烦出来了,如果从小学数学知识除法,以上四个运算结果都应该是0.4。但我们看到的后三个符合,第一个居然结果是0。why?

    py3study
  • 当纷享销客遇见销售易,赢了的是整个江湖

    撰文 | 卿云 2010年中国移动互联网兴起,次年销售易和纷享销客先后成立,一直被业界称为移动CRM双子星。纷享销客从镁光灯环绕着加速奔跑到放慢脚步,期间三次...

    人称T客
  • MIT这个新机器人是……能在地上跑的无人机?能飞上天的无人车?

    陈桦 编译自 MIT News 量子位 报道 | 公众号 QbitAI ? MIT计算机科学和人工智能实验室(CSAIL)正在开发一种既能飞又能跑的机器人。 一...

    量子位
  • 腾讯二面,我被 “赛马” 问题难住了

    今天分享一道我曾经被难住了的面试题,也是一道大厂面试时经常会被问到的面试题,赛马问题。

    程序员鱼皮
  • 「黑科技」盘点那些脑洞大开的人类设计的“异形”机器人

    镁客网
  • 数学之美:两点之间最快的路径

    大数据文摘
  • 运动是如何改造我们的大脑?

    提出这个问题的前提是,你已接受或者至少是认识到运动是可以改造大脑的。想要回答清楚这个问题,我们可以先看一下,运动与我们大脑的关系。

    脑机接口社区
  • 单脚三连跳,波士顿动力Atlas学会跑酷!

    网红人形机器人Atlas已经可以完成很多人类无法做到的事情,包括后空翻和跑步穿越雪地。现在,他又get了跑酷的新技能。

    大数据文摘
  • 一篇文章带你了解Go语言基础之接口(上篇)

    Hey,大家好呀,我是码农,星期八,之前怎么学到过面向对象的相关知识,但是还差一点,差了个接口。

    Go进阶者
  • 32岁封神!苏炳添博士重磅论文:我怎么跑这么快?

    暨南大学体育学院副教授、北京体育大学2019级体能训练学院博士研究生、暨南大学2013级经济学院国际贸易专业研究生。

    深度学习技术前沿公众号博主
  • 逆天!波士顿动力再出视频,机器狗大跳火星哥热舞

    在波士顿动力最新视频中,SpotMini竟然跳起了红遍全球的魔性《Uptown Funk》,太空步、断头舞、电臀舞,最潮街舞元素应有尽有!

    新智元
  • 波士顿动力十年对比刷屏,网友:以后该不会变成终结者吧?

    波士顿动力的机器人,主要有三款机型:人形机器人Atlas、机器狗Spot,以及双轮机器人Handle。

    量子位
  • 互联网健身,动到离谱,根本停不下来!

    寒风乍起,吹起一汪秋水。秋水,特别是深秋的水给人们最为直接的感受就是透彻肉骨的寒冷。而创业者们早已感受到了这股冷酷的味道,资本热度的冷却加剧了原本在这个暖冬本来...

    孟永辉
  • 新一代子域名爆破工具brutedns

    一直相信不要重复造轮子这句话,但是如果可以造出来更好的轮子,我认为那就应该勇敢的去造。总结一下工具特点:人无我有,人有我优。 废话不多说,先说特性。 特性: 1...

    FB客服

扫码关注云+社区

领取腾讯云代金券