新闻

1.Android N 最初预览版:开发者 API 和工具

我们今天很高兴地宣布 Android N 开发者预览版发布!今年的做法有些不同,我们更早地发布了预览版…确实很早。通过发布一个“进行中”的早期开发版,我们有更多时间吸收开发者的反馈。同时,早期预览版也能让我们在今年夏天的时候将 Android N 最终版交给设备制造商,这样他们能比以往更早地获得最新的 Android 版本。

2.谷歌出品!7条超实用的虚拟现实交互式设计原则

编者按:谷歌又来造福人类了!今天@十萬個為什麽 这篇译文即使花流量看完也不觉可惜,因为它不仅提供了一个简单廉价的体验虚拟现实的方法,还给了一个「自己动手做VR眼镜」的文档。对设计师来说,里边阐述的7条设计原则都经过验证,VR大热也就这两年,不学就落伍咯!

3.谷歌AlphaGO挑战赛:人工智能的边界在人类

最近一段时间谷歌AlphaGO与人类的挑战赛成为了热门话题,也就是人工智能与韩国围棋手李世石之间的挑战赛。其实从人工智能出现至今,关于人工智能的一切一直以来都是热门话题,比如机器人,如果机器人没有人工智能这个关键因素,其本身而言只是一种自动化的生产要素,只是一台“机器”。
国外博客

1.Random Musings on the N Developer Preview

Each time Google releases a new developer preview, I rummage through the API differences report and the high-level overviews, to see if there are things that warrant more attention from developers, with an emphasis on mainstream features that any developer might reasonably use.

2. Analyse a stack trace

In an ideal world, your apps would never crash. Bugs wouldn’t exist, and everything would be working right away.As you very well know, we do not live in such an idyllic scenario. Crashes do happen.

3.Fragment transitions with shared elements

One of the cornerstones of Material design is meaningful motion between screens. Lollipop introduced support for these animations in the form of the transitions framework, which allows us to animate transitions between Activities and Fragments.

4.Model View Presenter in Android

In the second part of this series Tin Megali implements his own version of MVP, using canonical form without any libraries from outside Android SDK/Java.

5.Indeterminate

Mark Allison is creating an approximation of the material circular indeterminate ProgressBar which is backward compatible to API 11. In this part he fine tunes the Interpolators to get closer to what the Lollipop+ implementation is doing.
国内博客

1.Android界面性能调优手册

Android系统要求每一帧都要在 16ms 内绘制完成,平滑的完成一帧意味着任何特殊的帧需要执行所有的渲染代码(包括 framework 发送给 GPU 和 CPU 绘制到缓冲区的命令)都要在 16ms 内完成,保持流畅的体验

2.搭建数据驱动型Android架构

iOS和Android系统在平台特性和应用场景下其实有很高的相似性,在不少架构的整体实现思路上基本都一致,只是由于语言特性的差异在实现方式上会有些不同而已。简而言之,内功心法一致,变的只是招式。这里我们用相同的思路来搭建Android系统平台下的DDA(Data Driven Architecture)架构

3.实践移动端的Flux架构

Facebook使用Flux架构来构建客户端的Web应用. Flux架构并不是为移动端设计的, 但是我们仍然可以采用这个思想在Android端使用. Flux是数据驱动型架构, 在以数据为核心的场景中使用非常合适, 不过Facebook好像把Flux架构应用于所有产品, 无论是前端还是移动端.

4.Android推送技术研究

现实生活中, 推送服务就像订杂志一样, 只要留下你的地址, 杂志就能如期送到你手里, 可以认为每个人都有唯一的一个地址, 但在目前的网络上, 这是办不到的, 因为不是每个人都有一个唯一的地址, 服务器想要给我们推送一条消息, 必须知道我们的地址, 但服务器不知道我们在哪.

5.一种快速毛玻璃虚化效果实现

在iOS设备上我们随处可见毛玻璃效果,而且最近越来越多的场合应用到了这种美观的虚化效果,包括本人的一个开源项目BlureImageView也是受此启发。所以,恰到好处的虚化效果能很好的改善用户体验,而且也能让你的app显得更加优雅。

6.Android 热修复Nuwa的原理及Gradle插件源码解析

简单来说,就是将所有类的构造函数中,引用另一个hack.dex中的类,这个类叫Hack.class,然后在加载补丁patch.dex前动态加载这个hack.dex,但是有一个类的构造函数中不能引用Hack.class,这个类就是Application类的子类.

7.Android常见的Event-driven方案

分析Android常用的Event-driven方案,分析各自的设计思路,使用方式,优势劣势;方便在项目中针对性使用,也为设计自己的EDA(Event-driven Architecture)作铺垫。最普通的事件驱动设计,观察者实现一个listener,注入到事件生产者中,获取事件的回调。

8.深入源码探索 ReactNative 通信机制

本文从源码角度剖析 RNA 中 Java <> Js 的通信机制。对于传统 Java通信而言,Js 调用 Java 通不外乎 Jsbridge、onprompt、log 及 addjavascriptinterface 四种方式,在 Java 调用 Js 只有 loadurl 及高版本才支持的 evaluateJavaScript 两种。

9.蘑菇街 App 的组件化之路

在组件化之前,蘑菇街 App 的代码都是在一个工程里开发的,在人比较少,业务发展不是很快的时候,这样是比较合适的,能一定程度地保证开发效率。慢慢地代码量多了起来,开发人员也多了起来,业务发展也快了起来,这时单一工程开发模式就会显露出一些弊端

10.[译]在 Android 下进行实时模糊渲染

虽然在Android中并没有直接的方法实现模糊渲染,但我们依然能见到些十分优秀的例子比如Yahoo Weather应用,见Nicholas Pomepuy的博文,然而,它是通过缓存一张预先渲染模糊的背景图片实现的。虽然这种方法挺有效果,但并不是我们想要的。

11.进程,线程讲到AsyncTask

异步编程是android初学者的一个难点,却也是始终不能绕过的一个坎。可以说几乎每个app都逃不了网络编程,而网络编程又往往建立在异步的机制之上,你不应该也无法在UI线程里执行网络请求,你也不应该在UI线程中频繁的进行IO操作.

12.Android 插件化原理解析——Hook机制之AMS&PMS

在前面的文章中我们介绍了DroidPlugin的Hook机制,也就是代理方式和Binder Hook;插件框架通过AOP实现了插件使用和开发的透明性。在讲述DroidPlugin如何实现四大组件的插件化之前,有必要说明一下它对ActivityManagerServiche以及PackageManagerService的Hook方式

13.Activity启动过程源码分析

Activity应该是大家再熟悉不过的了。从刚开始搭建Android开发环境,跑的第一个例子Hello World就用到了Activity。再后来会接触到Activity的生命周期,想当初学姐这几个生命周期顺序经常会记错

14.通过Loader延长Presenter生命周期

MVP架构背后的核心思想就是将Activity/Fragment变成一个单纯的View,负责展示数据并将各种事件分发给中间人,也就是Presenter。Presenter会处理每一个事件,从Model层获取或上传数据,并将获得的数据进行处理并让View层展示。

15.Android JSBridge的原理与实现

在Android中,JSBridge已经不是什么新鲜的事物了,各家的实现方式也略有差异。大多数人都知道WebView存在一个漏洞,见WebView中接口隐患与手机挂马利用,虽然该漏洞已经在Android 4.2上修复了,即使用@JavascriptInterface代替addJavascriptInterface.

16.GitHub Android Libraries Top 100 简介

本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索Java语言选择 (Best Match) 得到的结果, 然后过滤了跟Android不相关的项目, 所以排名并不具备任何官方效力, 仅供参考学习, 方便初学者快速了解当前一些流行的Android开源库.
类库

1.WoWoViewPager

一个酷炫的动画,可以制作 介绍/引导页面、你的App简历。

2.500px-android-blur

模糊效果,拥有层次感的类库。

3.CandlesAnimView

略萌的蜡烛Loading效果

4.swirl

一个简单的,独立的提供安卓的动画指纹图标的类库。

5.Google_io_2016_timer

谷歌IO 2016年倒计时的程序。

6.DanmuDemo

一个样式看起来比较丰富的弹幕demo

7.LockPattern

一个可以自定义的item的锁屏类库

8.PasswordEditText

自定义EditTextView显示/隐藏密码图标

9.FileDownloaderFinal

一个Android文件下载管理库,具有扩展性强、简单易用的特性。是基于FileDownloader强大的下载引擎
参考视频

1.介绍Android N的特征和使用

了解更多的关于Android N的特征。讲述你如何构建自己多窗口、画中画、数据保护程序、范围的目录访问,背景优化等等的应用(需要翻墙)

2.Android Support Library 23.2.1

谈到 Android 支持内容库,必须要了解它并不是一个单一内容库,而是整个内容库集合,其设法提供向后兼容的 API 版本,同时提供独特的功能,并且无需安装最新的平台版本。23.2 版新增了几个支持内容库,并向许多现有内容库增加了诸多新功能。

3.安卓系统性能测试工具

Rebecca Franks讨论各种工具(以及如何使用它们),以确保您的应用程序是不慢或下降帧。使您的应用程序在一个更大的设备上顺利运行。(需要翻墙)



微信公众号:Android博客周刊
微   博:陆镇生_Jomeslu
邮   箱:luzhensheng72@gmail.com

版权声明:自由转载-保持署名 | 本文遵从 CC BY 4.0 协议