Android Weekly Notes Issue #283
November 12th, 2017
Android Weekly Issue #283
本期内容包括Gradle相关的几篇,如封装繁杂依赖的技巧,通过kotlin dsl让gradle支持kotlin,以及gradle入门指南等,还包括RxJava2的迁移介绍,以及关于IoT,图片压缩,Security相关的文章.
AS3.0也正式发布,feature满满,Firebase退出了Rx版本,Kata 测试教程也放出Kotlin版本供大家学习.
ARTICLES & TUTORIALS
Migration to RxJava 2.x
文章介绍了RxJava2的一些变化,如新的类型(Completable,Single,Maybe),Test Observable,特别值得注意的是ErrorHandling,之前RxJava1可以通过registerErrorHandler注册,但是只有监听功能,无法Hook(如OnErrorNotImplementedException),程序该崩还得崩.
新版本通过RxJavaPlugins.setErrorHandler可以router到所有Rx流中产生的任何异常,包括在onNext/onSuccess中产生的异常,以及没有实现onError发生错误产生的异常.
值得注意的是,RxJava1会在Rx流结束或者Cancel后吃掉所有后续产生的Throwable,但是RxJava2将会依旧发射错误,这点需要注意,之前不不崩溃的程序可能会出问题,最好自己设置一个handler来catch.
Android Things - IoT possibilities
文章介绍了Hackster.io联合Google搞的一个IoT的比赛,介绍了几个好的创意,如办公室监控,都是字母的表,监控狗狗睡眠的床等等,比较有趣.包含每个项目的Detail信息的链接.
Experimenting with Gradle dependencies
文章介绍了如何整理与简化我们gradle里面大量的dependencies,安装feature进行划分比较清晰,然后再利用closure delegate封装,使得implementation这个关键字可以在我们定义的函数中使用,将我们的dependencies改成大概这个样子.
dependencies {
ui()
network()
}
关于如何用closure delegate定义ui与network可以查看作者原文.
RadialGradient
上期有篇文章讲了软硬加速的一些知识,这篇文章讨论Shader(RadialGradient)与Hardware/Software Layer相关的知识.
Kotlin DSL to write Gradle scripts on Android: Step by step walkthrough
Gradle推出了对Kotlin的支持,gradle-kotlin-dsl,可以用kotlin来写你的gradle文件了,但是由于文档很少很少,作者写了一个demo来帮助大家.
- 你需要将你的gradle升级到最新.
- 你需要给build.gradle加上一个.kts的后缀
- 你可以在buildSrc文件夹里面定义一些kotlin类,将一些string的定义放进去,取代之前的
ext{...}的写法.
Rx2Firebase : Firebase + RxJava
作者介绍了Rx2Firebase的推出对于使用Firebase online database用户带来的福音,再也不用被嵌套回调烦扰.
Migrating Crashlytics to the Firebase Console
文章介绍了如何在FirebaseConsole看到Crashlytics(Fibric),其实就是把你的firic的依赖删掉,换成firebase.
需要注意的是,他没有数据的migrate,所以fibric上的不会出现在firebase里面.
Beginner’s Guide to Gradle for Android Developers
文章介绍了Gradle的基本常识,包括每一个block的作用,很适合初学者学习,包括root的build.gradle,以及每一个子项目的build.gradle.
Secure data in Android — Encryption in Android (Part 2)
文章是一个安全系列文章的第三篇,介绍了如何通过KeyguardManager来要求手机必须设置LockScreen.
还有如何使用Keystore相关方法创建公钥私钥,通过Cipher进行加密解密.
Android 18之后,秘钥都是保存在系统服务里,并随着应用的卸载而删除,不像之间必须存在本地文件,存在被extract的风险了.
Alias free resize with RenderScript
文章介绍了原生的Bitmap.createScaledBitmap在缩放图片时候会产生锯齿,通过BitmapFactory.decode配合options.inSampleSize可以达到比较好的效果,但是只支持偶数被缩小,并且Bitmap必须没有解码之前.
采用RenderScript进行缩放,可以达到非常好的效果.但是耗时比较多,是createScaledBitmap的30倍.
Welcome to Android Studio 3.0
AS3.0正式发布,配合gradle 3.0,支持Java8 feature build-in,支持kotlin,支持Instant App...等等新的功能.
Testing like a pro in Kotlin
Karumi将Kata挪到了kotlin上,提供了好几个sample帮助学习kotlin测试.
包括Clean Architecture相关,Espresso相关,Stubbing Http相关等等.
LIBRARIES & CODE
RIBs
优步的跨平台框架.
BottomSheetLayout
View级别的一个BottomSheet.
Rx2Firebase
Firebase的Rx版本,使用online db更方便
Android Weekly Notes Issue #283的更多相关文章
- 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的使用; ...
随机推荐
- Weave Scope 容器地图 - 每天5分钟玩转 Docker 容器技术(80)
Weave Scope 的最大特点是会自动生成一张 Docker 容器地图,让我们能够直观地理解.监控和控制容器.千言万语不及一张图,先感受一下. 下面开始实践 Weave Scope. 安装 执行如 ...
- Oracle的常用命令之备份和恢复数据库
1 将数据库TES完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp system/manager@TEST file=d:\daochu.dmp 2 将数据 ...
- Sqlserver数据库 通过表触发器 实时通知应用程序
/* Sqlserver数据库开始相关服务 以下示例显示了如何查看 OLE Automation Procedures 的当前设置.0未启用 */ EXEC sp_configure 'show ad ...
- 中秋H5,这篇脑洞开的可以!
案例:嫦娥--寻开心出品:凯迪仕 1.内容:这是一支视频类H5案例.Loading完毕进入页面,首屏提示案例最佳观看方式为先锁屏再横屏.点击开始按钮播放视频,视频讲述"葫芦娃"缠着 ...
- 人工智能 tensorflow框架-->简介及安装01
简介:Tensorflow是google于2015年11月开源的第二代机器学习框架. Tensorflow名字理解:图形边中流动的数据叫张量(Tensor),因此叫Tensorflow 既 张量流动 ...
- Python和SQL 2017的强大功能
Python和SQL Server 2017的强大功能 原文来自:https://www.red-gate.com/simple-talk/sql/sql-development/power-py ...
- Java常用类(三)之StringBuffer与StringBuidler
前言 前面一篇给大家介绍了String类,这个我们经常会用到的一个类,那这一篇给大家分享的是StringBuffer与StringBuidler.等下我也会比较他们三个之间的区别 一.StringBu ...
- Spark 作业调度相关术语
作业(Job):RDD 中由行动操作所生成的一个或多个调度阶段 调度阶段(Stage):每个作业会因为 RDD 间的依赖关系拆分成多组任务集合,称为调度阶段,也叫做任务集(TaskSet).高度阶段的 ...
- 07-从零玩转JavaWeb-对象内存分析
上篇看了关于数组的内存分析,接下来看一下对象的内存分析 假定有如下类: 第一步会把Person的字节码放到方法区 执行main方法,把main方法的栈帧放到栈当中 Person zly = ...
- 【Telerik控件学习】-建立自己的图形编辑工具(Diagram)
Telerik提供了RadDiagram控件,用于图形元素的旋转,拖拽和缩放.更重要的是,它还拓展了许多绑定的命令(复制,剪切,粘贴,回退等等). 我们可以用来组织自己的图形编辑工具. Step1.定 ...