Android Weekly Notes Issue #286
December 3rd, 2017
Android Weekly Issue #286
本期文章包含如何通过踩坑来学习Kotlin,以及利用Kotlin的data class做MVVM状态保存,还包含一些基础知识的介绍,如RxJava2线程切换,Kotlin与Java容器分析.
另外,还包括Intant App的软文一篇,以及 Android O对Notification进行Channel管理的文章,帮助大家适配O以上的通知.
ARTICLES & TUTORIALS
Some useful insights on Instant apps
文章介绍了荷兰的新闻应用NOS支持IA的实例,技术成分不多,更像是新闻报道,需要了解IA具体实现的可能得不到想要的.
Using Espresso to Test Opening Links
一个女博主的小发现,如何通过Espresso测试通过TextView的autolink打开其他程序.
其实是通过openLinkWithText来发出这个事件.
Learning Kotlin by Mistake
文章介绍了在错误中不断前行,学习Kotlin相别于Java的特性.
如尽量的通过applay run let with等操作符将你的逻辑连起来.
CompanionObjects与@JvmStatic @JvmField的取舍
lateinit与by lazy的故事,以及自定义Delegate等等.
最笨的办法也可以通过自动转换来学习,但是自动转换出来的并不是完全纯粹的Kotlin哦.
Paper Signals: A Voice Experiment
一个IoT的教学,制作一个声音盒子,通过你的语音可以变形. 比较有趣的是盒子的模型零件可以打印出来自己剪裁.
需要的Code他们已经提供了.
当然最重要的是,需要买材料,$24.95.
Kotlin Collections Inside. Part 1
一个分析Kotlin容器的系列文章,这是第一篇,关于List.
主要讲了Java与Kotlin容器的关系,对于Kotlin来说,所有Java的容器都是Mutable的,而对于Java来说Kotlin的Immutable容器可以调用改动操作,但是会抛异常.
并且介绍了Kotlin如何初始化Immutable与Mutable的List,通过ByteCode分析,虽然MutableList没有继承与Java的ArrayList,但是通过arrayListOf与mutableListOf生成的List可以互转,原因是MutableList在生成ByteCode后,也同样继承了ArrayList....
Multi-Threading Like a Boss in Android With RxJava 2
文章主要讲了RxJava2如何在线程之间随意切换的,虽然没有涉及实现原理,但是通俗的讲解了subscribeOn与observerOn的使用.一个是改变source,一个是改变downstream.
Oreo Notifications: Channels – Part 1
文章介绍Android O对于Notification的新概念,Channel,对于没有使用新的Notification Compat API设置Channel的,将不会再Android O上弹出通知.
Channel是为了让用户对程序的不同Notification进行分组管理,可以对不同Channel分别设置开关,以及通知方式(震动,亮灯,静音等).
与Channel配合的还有Group,可以将某几个Channel归类于一个Group,在设置页面可以看到不同的Group下的有不同Channel.
Representing View State with Kotlin Data Classes
文章介绍了把所有状态封装在一个ViewState的data class里,并通过其copy的方法,对发生变化的状态进行改变,这样可以保持其他状态不变.
该状态可以作为ViewModel里面的一个Observable被订阅,获取不同状态下的ViewState,对UI进行操作.
Kotlin on the Backend
Rocket Travel已经使用Kotlin做Spring Boot开发一年有余,评价很好,可以在后端开发中使用到Kolin的feature,一定很High.
LIBRARIES & CODE
RoboPOJOGenerator
一个插件可以直接将JSON转成Java或者Kotlin的POJO文件...
avdo
Python的包,可以优化Vector动画或者Drawable文件.
Android Weekly Notes Issue #286的更多相关文章
- 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的使用; ...
随机推荐
- PHP程序员的技术成长之路规划
按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...
- 2017年11月Dyn365/CRM用户社区活动报名
UG是全球最大Dynamics的用户组织,由最终用户自发组织,由行业有经验的专家自愿贡献知识和经验的非营利机构,与会人员本着务实中立的态度,不进行推介产品,服务以及其他营销行为.在美国,微软Dynam ...
- 我的第一个python web开发框架(14)——后台管理系统登录功能
接下来正式进入网站的功能开发.要完成后台管理系统登录功能,通过查看登录页面,我们可以了解到,我们需要编写验证码图片获取接口和登录处理接口,然后在登录页面的HTML上编写AJAX. 在进行接口开发之前, ...
- idea中的汉语注释出现乱码的解决方案
日记 - idea中的汉语注释出现乱码的解决方案 我是个idea的忠实用户,新公司的项目都是用eclipse做的,通过svn拉下代码后发现,注释的内容里,中文内容都是乱码.问过项目负责人,说可能是GB ...
- 推荐一款不错的反编译软件:Reflector
只需要把要反编译的dll拖放到程序窗口就可以看到code了.是不是很简单,快来试试吧.不只是可以反编译个人写的code,.Net库一样可以查看代码.想学习.Net核心代码的可以试试看.
- linux学习(八)chmod、chown、umask、lsattr、chattr
一.权限位 权限位分为两个部分,第一个部分是谁的权限,第二部分是权限是多少.其中第一个部分一般分为:用户,用户组,其他用户.第二部分分为r:读权限,w:写权限,x:执行权限.可读,可写,可执行的权限, ...
- ssh: connect to host master port 22: Connection refused
hadoop集群启动的时候namenode显示Connection refused 到windows下ping master 显示传输中过期 ip是静态的 ssh master 也是连接拒绝 重启s ...
- Java IO编程全解(三)——伪异步IO编程
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7723174.html 前面讲到:Java IO编程全解(二)--传统的BIO编程 为了解决同步阻塞I/O面临 ...
- AngularJS学习篇(二十)
AngularJS 包含 在 AngularJS 中,你可以在 HTML 中包含 HTML 文件. 使用 AngularJS, 你可以使用 ng-include 指令来包含 HTML 内容: < ...
- JAVAscript学习笔记 js句柄监听事件 第四节 (原创) 参考js使用表
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...