Android Weekly Issue #228

October 23rd, 2016
Android Weekly Issue #228

本期内容包括:
Android 7.1的App Shortcuts; Searchbar的设计讨论; Nougat的Direct Reply; Alarms API讨论; Support Library的BottomNavigationView; MVVM模式; Dagger2的subcomponent实现; Test Rules介绍等.

ARTICLES & TUTORIALS

Android 7.1 Static Shortcut

Exploring Android Nougat 7.1 App Shortcuts

这两篇文章都在介绍Android 7.1的App Shortcuts.

本博客相关文章: Android 7.1 App Shortcuts使用 .

Exposing the Searchbar

比起点击一个search icon, 然后进入搜索屏, 用户更喜欢一个search bar, 然后直接就可以在主屏上进行搜索.

作者对于他们的应用想到的解决方式就是, 在主屏上放一个search bar,然后 用一个transition, 把主屏和搜索屏(两个Activity)衔接起来, 这样用户在点击search bar之后, 不会感觉到他们打开了一个新屏.

另一个效果就是, 在点击search bar之后, 当前屏fade away, search bar展开, 在第二屏直接打开键盘, 用户可以进行搜索.

Code: Material-SearchTransition.

Nougat - Direct Reply

Direct Reply是指用户可以直接回复Notification, 而不用打开app.
这篇文章作者示例了如何实现在message app中用Direct Reply清除消息和直接回复.

Da Real Fragmentation - Alarms

作者这篇文章先是详细介绍了Alarm的各个选项和使用情形, 以及它的API版本变化.

Bottom Navigation View in the Design Support Library

在Design Support Library 25.0.0中, Google发布了Bottom Navigation的官方实现: BottomNavigationView.
这篇文章写了如何使用这个View, 并且最后列出了一些第三方库.

Shades of MVVM

作者讨论了MVVM模式及它的几种变形.

Activities Subcomponents Multibinding in Dagger 2

dagger-2.7 添加了@Modules.subcomponents.
本文演示了如何用这个更好地添加子ActivityComponent. 而不用每次都借助AppComponent. 这样做除了解耦之外, 对于测试时很有帮助.

例子代码: Dagger2Recipes-ActivitiesMultibinding

Experimenting with TensorFlow on Android Part 1

TensorFlow是一个Machine Intelligence开源库, 主要的用途是数据计算, deep learning等.

bazel是一个build tool, 功能类似于gradle.

本文讲了如何setup.

Understanding Test Rules

Espresso中的Rule是如何工作的呢?
之前有一个文章: Using Rules To Influence JUnit Test Execution说明JUnit中的Rule是如何工作的.

然后作者讲了如何自定义一个TestRule.

DESIGN

Sketch template for app shortcuts

作者分享了为Android 7.1的app shortcuts功能而准备的sketch模板.

LIBRARIES & CODE

PageIndicatorView

Page Indicator, 结合Android ViewPager使用的, 转换时有点点连接的功能.

PermissionUtil

一个Android 6.0 permission请求的库.

DeviceAnimationTestRule

一个JUnit rule, 用来disable和enable设备动画.

DiagonalLayout

对角线布局, 感觉怪怪的.

NEWS

Android 7.1 Developer Preview

Android 7.1发了Developer Preview啦.
官网Overview在这里: Android 7.1 for Developers

ConstraintLayout beta 1 is now available

ConstraintLayout beta 1发布啦.

TOOLS

Learn You a Git

教你学习Git的工具.

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

  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. xamarin IOS 报错处理: an error occurred on client Build420719 while

    xamarin IOS 开发时如果报错如下: an error occurred on client Build420719 while...... 出现如下问题时,可能是1.丢失文件2.没有包括在项 ...

  2. Android 浏览器 —— 使用 WebView 实现文件下载

    对当前的WebView设置下载监听 mCurrentWebView.setDownloadListener(new DownloadListener() { @Override public void ...

  3. es6学习笔记

    class Point { constructor(x, y) { this.x = x; this.y = y; } static classMethod() { console.log('fath ...

  4. jQuery UI与jQuery easyUI的冲突解决办法

    jQuery UI与jQuery easyUI都是基于jQuery开发的.难免里面会有些方法名冲突! 因此对jQuery.easyui其中的两个方法名:resizable 和 draggable进行替 ...

  5. Happy New Year 2016

    大学之前的时间都是按天来过的,期盼着一天一天地快快长大,期盼着过年穿新衣,阖家团聚,其乐融融: 大学的时间都是按周来过的,根据每周的课表周而复始,虽然单调但也是自由自在,简单充实: 刚工作的几年时间是 ...

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统(39)-在线人数统计探讨

    系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可以确实的统计在线用户! Discuz!NT 在线用户功能算是做得比较好的!参考资料 他的原理大致是根据用户的操作间隔来确 ...

  7. Microsoft Build 2016 Day 2 记录(多图慎入)

    Microsoft Build 2016 Day 1 记录 Microsoft Build 2016 进行到了第二天,我觉得这一天的内容非常精彩,因为主要和开发者相关

  8. C#的扩展方法解析

    在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到. 继承的有关特性的使用所带来的问题:对象的继 ...

  9. STM32F746的RTC使用

    1.RTC模块采用低速晶振外接始终:32.768KHz,如下图所示 2.配置RTC模块: 其中,Fck_apre.Fck_spre始终上配置不容易理解, 如果想得到1Hz的始终频率,则需要将PERDI ...

  10. xUnit入门一

    看了下Nhibernate的入门Demo,感觉测试驱动开发会更效率.当然,你可能觉得不是还要额外编程单元测试代码吗?开发怎么会更效率? 一句话解释之,磨刀不误砍柴工. 那就开始入门吧 ~.~ 笔者使用 ...