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的取舍

lateinitby 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,但是通过arrayListOfmutableListOf生成的List可以互转,原因是MutableList在生成ByteCode后,也同样继承了ArrayList....

Multi-Threading Like a Boss in Android With RxJava 2

文章主要讲了RxJava2如何在线程之间随意切换的,虽然没有涉及实现原理,但是通俗的讲解了subscribeOnobserverOn的使用.一个是改变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的更多相关文章

  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. Java基础总结--面向对象1

    ---面向对象的概念---1.面向过程与面向对象的区别面向过程:是一种思维习惯,解决一个问题的时候靠的是一个个方法调用--核心是动作面向对象:是一种更接近生活中解决问题的思维习惯,解决特定的问题靠对象 ...

  2. C++类与对象(05)

    类是具有惟一标识符的实体:在类中声明的任何成员不能使用extern.auto和register关键字进行修饰:类中声明的变量属于该类,在某些情况下,变量也可以被该类的不同实例所共享. 访问权限用于控制 ...

  3. yii2之依赖注入与依赖注入容器

    一.为什么需要依赖注入 首先我们先不管什么是依赖注入,先来分析一下没有使用依赖注入会有什么样的结果.假设我们有一个gmail邮件服务类GMail,然后有另一个类User,User类需要使用发邮件的功能 ...

  4. 2017年编程语言排行榜Top10,第一名是?

    关注 最近,IEEE Spectrum 杂志(美国电气电子工程师学会出版的旗舰杂志)发布了一年一度的编程语言排行榜,这也是他们发布的第四届编程语言 Top 榜.据介绍,IEEE Spectrum 的排 ...

  5. Unity3d 2017

    Unity3d引擎的新纪元--Unity3d 2017 来源 http://blog.csdn.net/dark00800/article/details/75209544 Unity3d不久之前正式 ...

  6. C. New Year and Rating

    C. New Year and Rating time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  7. C#之可选参数和命名参数

    设计方法的参数是,可以将部分参数和全部参数分配默认值,然后调用这些方法的时候可以选择不提供部分实参,使用参数定义的默认值,另外,还可以在调用方法的时候通过指定参数名称来传递实参. 例如: public ...

  8. Webpack 入门教程

    Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 本章节基于 Webpack3.0 测试通过. 从图中我们可以看出,W ...

  9. EasyWcf------无需配置,无需引用,动态绑定,轻松使用

    设计原则:万物皆对象 前言:在上一篇的0配置使用Wcf中,虽然使用已经很方便了,但是对于最求极致简洁得人来说(比如我),客户端需要通过手动引用服务才能够调用服务接口,那么有没有办法能够绕过手动引用这一 ...

  10. Photoshop颜色出现比较大的偏差,偏色严重,显示器配置文件2351似乎有问题

    其实出现这个问题是因为 显示器的配置问题.并不是PS版本或者电脑系统问题. 一般在你首次启动PS的时候会出现提示:显示器配置文件2351似乎有问题. 如果你点击了继续运行那以后你使用PS打开任何文件都 ...