Android Weekly Notes Issue #320
Android Weekly Issue #320
July 29th, 2018
Android Weekly Issue #320
本期内容包括: Firebase的MLKit; 关于写Android单元测试的几个原则; 用JS代码写Emoji; 用Gradle执行Kotlin脚本; 一个用Kotlin结合Retrofit, LiveData进行网络请求的例子;
用Jitpack发布库来解决想使用库的未发行版本的问题; 在电脑上为不同的项目配置不同的SSH和Git configs; Kotlin的Observable, 代理属性的使用; 谈谈在团队中的远程交流.
ARTICLES & TUTORIALS
Exploring Firebase MLKit: Landmark Detection (Part Four)
使用Firebase MLKit进行地标检测.
Seven Principles of Great Android Unit Tests
好的单元测试的七个原则:
- 快. (不要用Robolectric, 少用PowerMock, 真正需要的时候才用Mockito.)
- 独立. (只做一件事, 彼此不依赖.)
- 彻底. (每种情况都有.)
- 可重复. (不能具有不确定性, 不能依赖真实IO, 不共享单例.)
- 专业. (设计, 重构.)
- 可读.
- 自动化.
Making Emojis with Code
这个网站可以用来写前端代码: JSFiddle.net.
本文示范了如何用svg tag和js代码写一个有简单交互的emoji表情.
Execute Kotlin Scripts with Gradle
如何用Gradle执行Kotlin脚本.
Simple network calls using Retrofit, LiveData, Kotlin Coroutines and DSL
本文介绍了用Kotlin结合Retrofit进行网络请求, 结合LiveData返回数据和请求状态.
之后又用DSL进行抽象, 变成一个通用的请求方法, 以简化代码.
No Version? No Problem! .. Jitpack comes to the rescue
如果想使用一个库中还未发布的部分(新特性, bug修复), 应该怎么办呢?
有两种选择:
- 把库代码当做一个module引入.
- Fork后作为aar加入.
但是这两种方法都不是很好.
本文介绍的方法是利用JitPack.
你可以fork一个库, 选择一个节点, 然后就可以在项目中使用它了.
There’s never been a better time to learn Android development
现在是一个学习Android的好机会, 因为开发的很多方面都被重置了.
首先, 开发语言: Kotlin.
其次, 布局: ConstraintLayout
.
构架方式: Google推出的Architecture Components.
文中附有一些相关的资源链接.
Splitting SSH and git configs
如何在电脑上为工作和私人项目区分SSH Keys和Git configs.
Listeners with Observable, from Kotlin's Delegated Properties
要监听变量的变化有很多方法, 本文讲用Kotlin的observable property
来实现.
例子:
class Book {
var title: String by observable("untitled") { _, oldValue, newValue ->
onTitleChanged?.invoke(oldValue, newValue)
}
var onTitleChanged: ((String, String) -> Unit)? = null
}
还可以用vetoable
, 提供了筛选值的方法.
class Book {
var title: String by vetoable("untitled") { _, oldValue, newValue ->
!newValue.isEmpty()
}
}
Kotlin还提供了一些有用的属性操作类, 见: kotlin.properties.
Thoughts on Remote Communication
关于工作中的远程交流问题讨论.
LIBRARIES & CODE
Kin Ecosystem Android SDK
Kin ecosystem sdk.
detox
端到端的灰盒测试和自动化库. 支持iOS, Android和RN应用测试.
Philology
用这个库可以动态地更改Android应用中的字符串. 其实现是截取了View inflate的过程.
Awesome Kotlin Resources
Kotlin的资源集合网站.
Android Weekly Notes Issue #320的更多相关文章
- 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的使用; ...
随机推荐
- 15.【nuxt起步】-Nuxt使用jsweixin sdk
npm install weixin-js-sdk --save 这个不行,这个是vue前端用的 网上找了一些vue jsweixin的案例 不能直接用 因为nuxt是后端运行,windows对象取不 ...
- 传输层:TCP 协议
传输层:TCP 协议 一.概述 TCP 和 UDP 处在同一层——运输层,但是它们有很多的不同.TCP 是 TCP/IP 系列协议中最复杂的部分,它具有以下特点: (1) TCP 提供 可靠的 数据传 ...
- Web编程前端之7:web.config详解 【转】
http://www.cnblogs.com/alvinyue/archive/2013/05/06/3063008.html 声明:这篇文章是摘抄周公(周金桥)的<asp.net夜话> ...
- ThinkPHP第一课 环境搭建
第一课 环境搭建 1.说明: ThinkPHP是一个开源的国产PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的. 最早诞生于2006年初.原名FCS.2007年元旦正式更名为Think ...
- java将一个或者多个空格进行分割
public static void main(String[] args) { String s = "GET /index.html HTTP/1.1";//字符串s由“GET ...
- Android常用资源
Eclipse ADT http://developer.android.com/sdk/installing/installing-adt.html https://dl-ssl.google.co ...
- 【转载】通过sqlserver日志恢复误删除的数据
如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题迎刃而解. 我遇到的情况是这样的,网站被植入木马,盗取了我的web.config文件,web. ...
- 王立平--eclipse中改动android项目的版本
改动版本 1.右键-->properties 2.android.改动须要的版本 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzQyNTU ...
- WebClient禁止自动重定向
代码如下: public class MyWebClient : WebClient { public bool AllowAutoRedirect { get; set; } = true; pro ...
- linux下性能监控工具
一. Linux 性能监控的概述 系统由若干子系统构成,通常改动一个子系统有可能影响到另外一个子系统.甚至会导致整个系统不稳定.崩溃. 所以说优化.监測.測试一般是连在一起的,并且是一个循环并且长期 ...