November 19th, 2017

Android Weekly Issue #284

本期内容丰富.有趣的有如何搭建真机测试平台,Proguard里面各类keep的区别,如何运行时获得泛型类型,Android的Internal Storage到底是什么,以及Android Things的一篇文章.

代码部分有介绍了一个twiiter的序列化库,还有个比较炫酷的圆形Menu可以应用到自己项目中去.

ARTICLES & TUTORIALS

The art of staging a rollout

文章介绍了Google Play Store分阶段发布的特性,可以帮助你去降低发布风险。

简单来说就是可以控制用户升级到新版本的比例,遇到问题可以发新版覆盖,更好的是,HotFix版本的发布范围是取自之前已经收到更新的用户的,帮助你去观察问题是否已经修复,而尽量的不会去影响其他未收到更新的用户。

Getting your Android app ready for Autofill

文章介绍了如何更好的支持Android O最新的AutoFill功能,如添加hint为其分类,设置一些attribute标注其需要或者不需要autofill,因为默认都是开启的...

setImportantForAutofill(IMPORTANT_FOR_AUTOFILL_NO)

Android Device Farm at Mercari

文章介绍了如何通过STF(Smartphone Test Farm)与GCP(Google Cloud Platform)来搭建公网测试平台.

由于没有公网静态地址,所以这里采用微服务平台来搭建.

手机与Local的机器adb连接, Local与GCP通过SSH Tunnel连接,使用autossh保活,GCP上跑STF.如果有多个区域的Local实体机,可以通过nginx均衡.

The Storage Situation: Internal Storage

介绍了Internal Storage的历史渊源以及他的消失.

最早(1.x-2.x)实际上是分Internal跟外挂的SdCard,内部储存很小只有几十M,我记得以前得通过脚本开启app2sdcard,来将程序数据挪到sd卡,当然2.3开放了这个功能.

3.x-4.4之前,内部储存越来越大,并且也可以挂载非sd卡的储存空间,我们称之为固有ROM.

4.4以后把所有的内部储存分成了Internal Storage与External Storage,其实主要是读写权限的区别,并限制了挂载储存(sdcard)的读写权限.

8.0以后取消了Internal Storage的叫法,内部储存统一叫Storage

Android Color Management: What Developers and Designers Need to Know

介绍了新版本手机支持sRGB也就是Wide color的情况, 可以通过Manifect设置Activity是否开启wideColorGamut模式,还可以通过values-widecg文件夹指定色值,在支持Wider色的机器上使用.

Distinguishing between the different ProGuard “-keep” directives

文章以图表的方式介绍了Proguard里面不同的keep之间的区别.

总结一下就是加了names就会shrink,加了member就是只针对于member,加了with就是必须{}里面的member都有的时候才会执行.

Building a distributed MIDI Controller with Android Things and Nearby API

Android Things相关的分享,作者使用MIDI协议,结合Google的Nearby API,相当于手机与Things之间通过Nearby通信,然后Things将MIDI数据传给电脑上的Software.

Runtime generics in an erasure world

文章讲了运行时获得泛型信息,并通过这个办法,Gson的TokenType将类型信息交给反序列化使用.

大致原理:

对于InnerType#Internal<String>,通过其GenericSuperclass可以获得很多信息.

  • OwnerTypeInnerType
  • RawTypeInnerType$Internal
  • ActualTypeArgumentsjava.lang.String

Introducing Serial: Improved Data Serialization on Android

文章介绍了一个更牛的序列化工具Serial.

它的特点很多,如更快的Perfermance,更容易Debug,更好的backward兼容性,以及加入已有系统的flexibility.

LIBRARIES & CODE

CircleMenu

一个UI空间,可以点开一个圆圈类型的Menu.

tivi

连接Trakt.tv的一个App,非官方,WIP,使用了很多新框架.

AutoAdapter

通过写一写注解来绑定layout与Java,生成RecyclerView的adapter.

AndroidSDKPoster

包含了android14-27的changelog的poster

idea-gradle-dependencies-formatter

一个gradle的format插件,支持包括compile不同格式的切换,还有maven到gradle的转换等等.

Serial

Twitter的序列化框架.

Android Weekly Notes Issue #284的更多相关文章

  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. exp3.1实现顺序栈的各种操作

    #include<iostream>using namespace std;#include<malloc.h>typedef char Elem;typedef struct ...

  2. 数据结构与算法--从平衡二叉树(AVL)到红黑树

    数据结构与算法--从平衡二叉树(AVL)到红黑树 上节学习了二叉查找树.算法的性能取决于树的形状,而树的形状取决于插入键的顺序.在最好的情况下,n个结点的树是完全平衡的,如下图"最好情况&q ...

  3. 如何才能通俗易懂的解释javascript里面的"闭包"?

    看了知乎上的话题 如何才能通俗易懂的解释javascript里面的‘闭包’?,受到一些启发,因此结合实例将回答中几个精要的答案做一个简单的分析以便加深理解. 1. "闭包就是跨作用域访问变量 ...

  4. CSS学习总结

    CSS基础 简介 什么是CSS? CSS如何创建? 选择器 通用选择器 标签选择器 类选择器 ID选择器 属性选择器 后代选择器 子选择器 相邻元素选择器 伪类选择器 CSS样式 背景 文本 字体 链 ...

  5. SGU 223 Little Kings(状压DP)

    Description 用字符矩阵来表示一个8x8的棋盘,'.'表示是空格,'P'表示人质,'K'表示骑士.每一步,骑士可以移动到他周围的8个方格中的任意一格.如果你移动到的格子中有人质(即'P'), ...

  6. C 结构体零散知识点

    1.结构体无法把自己作为成员,但可以包含指向自己的指针成员 2.定义不完整结构类型(类型,结构,占用空间无法确定,如void指针,声明没有指明数组长度数组)只能使用小标签,即struct struct ...

  7. SpringMVC 基本概念

    DispatcherServlet:前端控制器,解释用户请求,通过HandlerMapping查找对应Handler处理请求,调用ViewResolve回填页面,DispatcherServlet在W ...

  8. 【ASP.NET MVC 学习笔记】- 20 ASP.NET Web API

    本文参考:http://www.cnblogs.com/willick/p/3441432.html 1.ASP.NET Web API(本文简称Web API),是基于ASP.NET平台构建REST ...

  9. Python 由__dict__和dir()引发的一些思考

    关于__dict__和dir()的区别和作用请参考这篇文章:http://blog.csdn.net/lis_12/article/details/53521554 说下我当时遇到的问题: class ...

  10. 机器学习之决策树(ID3 、C4.5算法)

    声明:本篇博文是学习<机器学习实战>一书的方式路程,系原创,若转载请标明来源. 1 决策树的基础概念 决策树分为分类树和回归树两种,分类树对离散变量做决策树 ,回归树对连续变量做决策树.决 ...