Android Weekly Notes Issue #279

作者: 圣骑士wind | 来源:发表于2017-10-21 23:01 被阅读33次

    October 15th, 2017

    Android Weekly Issue #279

    本期主要内容包含与Clean Architecture相关的两篇(包结构,离线app),IoT,Google AI (DialogFlow),以及Kotlin Coroutines的相关知识,还包含如何使用Kotlin以及RxJava2提升编码效能的文章,以及Dagger与Firbase配置的文章,以及一篇有意思的制作世界上最小APK的文章.

    代码主要看点在于Kotlin Coroutines.

    ARTICLES & TUTORIALS

    Package-by-Feature in Modularised Android Projects

    文章介绍了对于Android Clean Architecture如何按照feature来分包,app会被分为Data,Remote,Cache,Presentation,View五个部分,每个部分都会有一个Conversations的子包包含Model,Mapper等相关模块,并且还包含一些特有的子包,如View会有Inject模块,具体可看原文.

    Exploring the .class side of Kotlin — Part 2

    文章继续介绍作者的习惯,开一个CS Bytecode Viewer关注每次Kotlin代码改变后, .class的变化.

    Android Things – Temperature Sensor, I2C on the Rainbow Hat

    文章介绍了如何通过I2C协议开发IoT,这里用到的是Rainbow Hat,一个温度传感器.

    Building Offline-First App using MVVM, RxJava, Room and Job Queue

    文章介绍了作者的一个Demo,实现了离线功能,架构上使用了Clean Architecture,UI与Database唯一绑定,后台运行SchedulerJob对数据库的数据进行Sync,如果成功将isSynced更新为True,如果失败则将其删掉.

    Exploring Dialogflow: Understanding Agent Interaction

    Google的API.IA十月份换名字啦,现在叫DialogFlow,听起来是不是更生动了一些.
    文章介绍了DialogFlow的一些概念,如Invocation定义如何启动会话,Intent定义一个话题,User Saying定义某个话题的关键词来触发话题,Entities是Request关键字的映射,Fulfillment Request是通过Entity Value来查询结果填充问题答案的过程,Response是最终给User的答案.

    Setup Firebase on Android with multiple environments

    如何在Android与iOS上配置Firebase...

    Improve your tests with Kotlin in Android — Pt.2

    文章介绍了通过kotlin的特点以及mockito-kotlin来对传统的代码进行改造.

    如使用了``(backticks)把你的test方法名包起来可以加空格标点成为一句话,更有意义.

    使用apply或者with来省略receiver

    使用

    mock { on {} then {} }
    

    来封装一些无参的when().then()等.

    Playing APK Golf

    文章讲述了如何制作一个世界上最小的APK,只有1757Bytes,并称如果谁能再缩小可以提pr,这个最小的apk连dex文件都删掉了,整个apk只有包含一个touch出来的dex与简化后的manifest,而且在Android O上是合法的apk.

    Keeping the Daggers Sharp

    介绍了Dagger2的一些基本知识,包括@Provides与@Inject,@Binds等等,内容不多.

    The missing RxJava 2 guide: Supercharge your Android development

    文章是一个帮助你从异步回调世界来到React世界的说明书,先讲述了RxJava的优势.

    • 轻松掌管多线程
    • 再也不会为回调无底洞烦恼
    • 很好的错误处理机制
    • 强大的operator
    • 代码更少错误更少bug更少
    • 跨平台(主要每个平台都有对应的Rx框架)

    而后介绍了3O,Observable,Observer,Operator,以及线程相关的操作符.

    Modular Architecture for faster Build Time

    介绍了如何提升Build速度,当然除了常设置的gralde属性,如开启daemon,parallel,单元测试开启多线程,多VM支持.
    更重要的是,程序最好模块化,这样不改动的module将不会编译,提升了整体速度.

    Diving deep into Kotlin Coroutines

    介绍了Kotlin实验室的Coroutines的一些知识,最简单的launch{}与可以返回值的async{},可以阻塞当前coroutinesuspend function,以及可以等待线程完成的await()join()

    Reactive Mythology: Interrupt Patterns

    文章介绍了通过一些操作符来实现Intercept,如takeUtil,或者通过compose来截断(switchOnNextObservable.nerver),或者与会抛异常的Observable来merge,具体可以查看他的code.

    LIBRARIES & CODE

    literallytoast

    说是Toast,但实际上是个弹框,这个库给你真正弹出一个烤面包来.

    chips-input-layout

    可以把输入框输入字串包在一个Chips里面,每一个Chips可以单独关闭或者放大..有的库可能叫Pills.

    欢迎关注我的公众号

    image.png

    相关文章

      网友评论

        本文标题: Android Weekly Notes Issue #279

        本文链接:https://www.haomeiwen.com/subject/nibwuxtx.html