October 29th, 2017

Android Weekly Issue #281

本期内容不多,包含了小众DI库牙签帮助测试的文章,Kotlin中Delegate的强大之介绍,以及基于Google Actions与Dialog Flow的AI应用,Android 8.1 API的改动与增强.

第三方库有一个kotlin写的时间计算库比较有趣,代码部分Kolin的Delegate可以看两眼,没准可以简化你的项目哦.

ARTICLES & TUTORIALS

How I Learned to Love Unit Testing with Toothpick

文章推荐了一个新的DI库叫做ToothPick(牙签),它对UnitTest有很好的支持,用它提供的TestRule并配合Mocktio的TestRule可轻松完成测试类mock依赖类的注入.

其实我觉得Mokito.initMocks已经很好很强大了...

关于TP与Dagger2的一些优势可以见其github的doc

Making your app Switch Access Compatible

文章比较有爱,只为了帮助有障碍的人,将你的App做到支持Switch Accessible(一种有一到两个按键的遥控器,来控制手机).

Drag and Drop and Swipe to Dismiss

介绍了如何通过RecyclerView的ItemTouchHelper实现侧滑删除,拖拽移动位置.

Your first Google Assistant skill

通过Google Action API与DialogFlow呈现了一个记录你每天喝水量的App.

Kotlin is Dope And So Are Its Custom Property Delegates

文章介绍了Kotlin里面Delegate的强大之处,比如通过ReadWriteProperty代理get与set,Delegates.observable监听新老值的变化,ObservableProperty#changeBefore可以hook数据变化等等...

Migrate to Android Plugin for Gradle 3.0.0

介绍了如何迁移到新的Android Gradle Plugin 3.0.

需要升级Gradle plugin到4.1,新加的falvorDimensions必须制定,还有一些api也发生了变化,如implementation/api取代了以前的compile,等等.

Google的官方文档,主要以你遇到什么错就该怎么改来帮你做迁移.

How Oreo's color profiles work on the Pixel 2 and 2 XL

介绍了Pixel2 升级到Oreo对DCI-P3颜色的支持,O可以通过设置android:colorMode="wideColorGamut"开启广域颜色,但是其内置的应用没有一个支持的,包括GooglePhoto,只有直接用OpenGl渲染的一些游戏支持,Camera也支持可惜拍照完看图片的是有依旧不支持...

Random Musings on the Android 8.1 Developer Preview 1

介绍了一部分8.1 API上的新变化.

如添加了NotificationListenerService可以查看是否拥有通知权限.

还有可以在Manifest里面指定程序需要的RAM情况,帮助安装的时候进行过滤.SQLiteDatabase可以创建数据库信息到内存里了.等等.

LIBRARIES & CODE

RxSSE

一个基于RxJava用kotlin些的SSE(H5里面基于Http的移送协议/服务)客户端.

Mezzanine

基于Annotation的可以在编译阶段读文件内容的一个第三方库,支持Java,Kotlin

Time

基于kotlin写的一个安全的时间计算库

可以写出这个的计算

50.seconds < 2.hours

Android Weekly Notes Issue #281的更多相关文章

  1. Android Weekly Notes Issue #230

    Android Weekly Notes Issue #230 November 6th, 2016 Android Weekly Issue #230. Android Weekly笔记, 本期内容 ...

  2. Android Weekly Notes Issue #227

    Android Weekly Issue #227 October 16th, 2016 Android Weekly Issue #227. 本期内容包括: Google的Mobile Vision ...

  3. Android Weekly Notes Issue #237

    Android Weekly Issue #237 December 25th, 2016 Android Weekly Issue #237 这是本年的最后一篇issue, 感谢大家. 本期内容包括 ...

  4. Android Weekly Notes Issue #229

    Android Weekly Issue #229 October 30th, 2016 Android Weekly Issue #229 Android Weekly笔记, 本期内容包括: 性能库 ...

  5. Android Weekly Notes Issue #221

    Android Weekly Issue #221 September 4th, 2016 Android Weekly Issue #221 ARTICLES & TUTORIALS And ...

  6. Android Weekly Notes Issue #219

    Android Weekly Issue #219 August 21st, 2016 Android Weekly Issue #219 ARTICLES & TUTORIALS Andro ...

  7. Android Weekly Notes Issue #236

    Android Weekly Issue #236 December 18th, 2016 Android Weekly Issue #236 本期内容包括: Google的物联网平台Android ...

  8. Android Weekly Notes Issue #235

    Android Weekly Issue #235 December 11th, 2016 Android Weekly Issue #235 本期内容包括: 开发一个自定义View并发布为开源库的完 ...

  9. Android Weekly Notes Issue #234

    Android Weekly Issue #234 December 4th, 2016 Android Weekly Issue #234 本期内容包括: ConstraintLayout的使用; ...

随机推荐

  1. 改用Struts2.5 出现404 错误

    这个是因为现在Struts 使用  2.5   只需要8 个 jar 包 Xworks-core 已经加到 struts-core中了 原因 是  Jar 包 冲突  导致 的    其次 如果 使用 ...

  2. 蓝色巨人IBM

    1911年IBM的前身CRT建立,在中华民国时期就与中国有很多商业合作,中国中央银行,中国银行,黄埔造船厂,建国后直到中美建交,IBM与中国的关系越来越紧密,今晚看了一遍关于蓝色巨人的视频,收益匪浅. ...

  3. css预处理语言--让你的css编写更加简单方便

    CSS预处理语言之一-------LESS Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量.Mixin.函数等特性,使 CSS 更易维护和扩展. Less 可以运行在 Nod ...

  4. asp.net core权限模块的快速构建

    大部分系统都会有权限模块,别人家系统的权限怎么生成的我不知道,我只知道这样做是可以并且挺好的. 文章中只对asp.net core的部分代码进行说明 呃 记录~,mvc版本自行前往仓库查阅 代码中的一 ...

  5. 在JavaScript中使用json.js:Ajax项目之POST请求(异步)

    经常在百度搜索框输入一部分关键词后,弹出候选关键热词.现在我们就用Ajax技术来实现这一功能. 一.下载json.js文件 百度搜一下,最好到json官网下载,安全起见. 并与新建的两个文件部署如图 ...

  6. 第5章 不要让线程成为脱缰的野马(Keeping your Threads on Leash) ----初始化一个线程

    使用线程的一个常见问题就是如何能够在一个线程开始运行之前,适当地将它初始化.初始化最常见的理由就是为了调整优先权.另一个理由是为了在SMP 系统中设定线程比较喜欢的 CPU.第10 章谈到 MFC 时 ...

  7. 基于NIO的Socket通信

    一.NIO模式的基本原理: 服务端: 首先,服务端打开一个通道(ServerSocketChannel),并向通道中注册一个通道调度器(Selector):然后向通道调度器注册感兴趣的事件Select ...

  8. Android打包版本号设置

    之前没有设置过打包的命名,每次打包都是默认的"app-realease.apk",之后手动修改名字来显示出它是一个新版本. 晚上学习了如何配置打包名称,很简单,修改build.gr ...

  9. Excel更改单元格格式后无效

    问题描述: 比如修改了数据的自定义显示格式(日期显示 yyyy"年"m"月",手机号分段000-0000-0000),应用后发现只有部分生效,或者都不生效,再检 ...

  10. Java Socket通信以及可能出现的问题解决

    Java中基于TCP协议实现网络通信的两个类:客户端的Socket和服务器端的ServerSocket. Socket通信模型如图所示: 不管Socket通信的功能有多复杂,任何socket通信过程的 ...