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. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  2. Membership三步曲之入门篇 - Membership基础示例

    Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 -  Membership基础示例 Membership三步曲之进阶篇 -  深入剖析Pro ...

  3. ES6+ 现在就用系列(一):为什么使用ES6+

    系列目录 ES6+ 现在就用系列(一):为什么使用ES6+ ES6+ 现在就用系列(二):let 命令 ES6+ 现在就用系列(三):const 命令 ES6+ 现在就用系列(四):箭头函数 => ...

  4. 如何用 MEF 扩展应用程序

    最近在写一篇关于如何扩展 Visual Studio 编辑器的文章时,用到了 MEF,因此打算写一篇文章提一下这个技术点.本篇文章并不打算详细介绍 MEF,只是一个最简单的入门,相信您在阅读本篇文章后 ...

  5. 细说websocket - php篇

    下面我画了一个图演示 client 和 server 之间建立 websocket 连接时握手部分,这个部分在 node 中可以十分轻松的完成,因为 node 提供的 net 模块已经对 socket ...

  6. 初学者--bootstrap(六)组件中的下拉菜单----在路上(10)

    组件---下拉菜单 用于显示链接列表的可切换.有上下文的菜单.下拉菜单的 JavaScript 插件让它具有了交互性. 将下拉菜单触发器和下拉菜单都包裹在 .dropdown 里,或者另一个声明了 p ...

  7. 【译】Unity3D Shader 新手教程(5/6) —— Bumped Diffuse Shader

    本文为翻译,附上原文链接. 转载请注明出处--polobymulberry-博客园. 动机 如果你满足以下条件,我建议你阅读这篇教程: 你想学习片段着色器(Fragment Shader). 你想实现 ...

  8. MVC5 网站开发之四 业务逻辑层的架构和基本功能

    业务逻辑层在Ninesky.Core中实现,主要功能封装一些方法通过调用数据存储层,向界面层提供服务.   目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 ...

  9. Web缓存杂谈

    一.概述 缓存通俗点,就是将已经得到的‘东东’存放在一个相对于自己而言,尽可能近的地方,以便下次需要时,不会再二笔地跑到起始点(很远的地方)去获取,而是就近解决,从而缩短时间和节约金钱(坐车要钱嘛). ...

  10. Hibernate(2)——Hibernate的实现原理总结和对其模仿的demo

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点总结如下: 开源框架的学习思路(个人总结) Hibernate的运行原理总结 Hibernate实现原理中的两个主要技术 ...