Android Weekly Notes Issue #281
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的更多相关文章
- Android Weekly Notes Issue #230
Android Weekly Notes Issue #230 November 6th, 2016 Android Weekly Issue #230. Android Weekly笔记, 本期内容 ...
- Android Weekly Notes Issue #227
Android Weekly Issue #227 October 16th, 2016 Android Weekly Issue #227. 本期内容包括: Google的Mobile Vision ...
- Android Weekly Notes Issue #237
Android Weekly Issue #237 December 25th, 2016 Android Weekly Issue #237 这是本年的最后一篇issue, 感谢大家. 本期内容包括 ...
- Android Weekly Notes Issue #229
Android Weekly Issue #229 October 30th, 2016 Android Weekly Issue #229 Android Weekly笔记, 本期内容包括: 性能库 ...
- Android Weekly Notes Issue #221
Android Weekly Issue #221 September 4th, 2016 Android Weekly Issue #221 ARTICLES & TUTORIALS And ...
- Android Weekly Notes Issue #219
Android Weekly Issue #219 August 21st, 2016 Android Weekly Issue #219 ARTICLES & TUTORIALS Andro ...
- Android Weekly Notes Issue #236
Android Weekly Issue #236 December 18th, 2016 Android Weekly Issue #236 本期内容包括: Google的物联网平台Android ...
- Android Weekly Notes Issue #235
Android Weekly Issue #235 December 11th, 2016 Android Weekly Issue #235 本期内容包括: 开发一个自定义View并发布为开源库的完 ...
- Android Weekly Notes Issue #234
Android Weekly Issue #234 December 4th, 2016 Android Weekly Issue #234 本期内容包括: ConstraintLayout的使用; ...
随机推荐
- 初学者---AngularJS详解
AngularJS 简介 AngularJs是一个用于设计动态web应用的结构框架.首先,它是一个框架,不是类库,提供一整套方案用于设计web应用.它不仅仅是一个javascript框架,因为它的核心 ...
- Ansible系列(三):YAML语法和playbook写法
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- 0 can't find referenced pointcut declarePointExpress
今天在用SpringAOP 的 @pointCut 的时候报错 Exception in thread "main" org.springframework.beans.facto ...
- java实现excel和数据的交互
1. 环境要求 本文环境为: 数据库为oracle,jdk为jdk7,依赖jar包为ojdbc6-11.2.0.4.0.jar+poi-3.14.jar 2.POI 使用 1. 建立工作空间 2. 获 ...
- day18<集合框架+>
集合框架(Map集合概述和特点) 集合框架(Map集合的功能概述) 集合框架(Map集合的遍历之键找值) 集合框架(Map集合的遍历之键值对对象找键和值) 集合框架(Map集合的遍历之键值对对象找键和 ...
- C语言编译过程及数据类型
写在前面 C语言可以称得上是高级语言中的低级语言,接下来一段时间,我会写一下文章关于c语言,把它的神秘面纱一 一揭开.下面主要是c语言的C语言编译过程及数据类型 源文件编译过程 为了使计算机能执行高级 ...
- java集合系列——Map之TreeMap介绍(九)
一.TreeMap的简介 TreeMap是一个有序的key-value集合,基于红黑树(Red-Black tree)的 NavigableMap实现.该映射根据其键的自然顺序进行排序,或者根据创建映 ...
- Linux入门之常用命令(9)进程及端口查看
[Linux下查看进程] 查看程序对应进程号:ps –ef|grep 程序名 查看进程占用端口:ss -pl | grep 进程号 [通过进程查看端口] 查看占用的端口号:netstat –nltp| ...
- Android Studio 导入应用时报错 Error:java.lang.RuntimeException: Some file crunching failed, see logs for details
在app文件夹的build.gradle里加上 android { ...... aaptOptions.cruncherEnabled = false aaptOptions.useNewCrunc ...
- 自测-5 Shuffling Machine
Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techn ...