Android 开发周报:谷歌 I/O 网站上线、Android 架构解析

阅读数:2274 2016 年 3 月 7 日

话题:移动Android语言 & 开发架构

新闻

  1. 《Google I/0 2016 将于 3.8 日开放注册》:一年一度的谷歌 I/O 开发者大会官方网站已正式上线。除去熟悉的倒计时器外,该网站提供的信息还显示,本届谷歌 I/O 开发者大会将于 3 月 8 日开放注册,并将于 5 月 18 日至 5 月 20 日举办。与往年的收费标准相同,本届谷歌 I/O 开发者大会的门票价格为 900 美元。开发者有两天时间提交参会申请。在 3 月 10 日之后,谷歌将随机挑选参会开发者,邀请函则将通过电子邮件发送给申请人。
  2. 《Google Play 完善开发者计划政策中心》:当我们突然发现某些不错的应用程序从 Google Play 下架时,总会为其原因感到惊讶,进而指责谷歌的不是。可是大家都很少有先想过是开发者的错误才需要下架。所以作为管理者的谷歌主动踏前一步来减少有关情况发生,他们把其开发者计划政策中心作出修改,让其规例变得更清楚易懂,减少开发者因失误犯规要被下架的机会。

教程

  1. 《Android Clean 架构详解:为你的应用打造一个清爽的架构》:随着应用体积和代码数量的膨胀,Android 应用的架构越来越复杂,遗留代码越来越多,接手开发、协作都变得越来越困难,有些人试图用框架、规范来解决这个问题,但为什么不从一开始就从架构上着手呢?干净架构就是一种很好的层级解耦、理清依赖的架构,作者在接触干净架构后就喜欢上了它,不仅在商业上成功应用,还撰文介绍、开源样板代码,简直化身干净架构布道师了,本文详细介绍了该架构的实现原理。
  2. 《移动网络下的性能优化之省电篇》:随着 3G 和 4G 网络的普及,用户使用 APP 的场景更多地集中在移动网络下。同时也带来了手机电量消耗更快和网络延迟更高的问题。想开发出用户体验更好的应用,就需要对移动网络有更深入的了解。本系列文章将分为上下两篇,分别介绍如何开发出更省电和网络延迟更低的移动应用程序。本篇文章主要介绍了移动网络的一些基本工作原理以及降低手机耗电的优化方案。
  3. 《红包照片客户端开发那些事》:2016 除夕夜,微信除了摇一摇抢红包,同时还带来了另外一个新玩法——红包照片,而据说很多人也都卖命晒出了珍藏多年的照片! 猴年除夕活动已经落下帷幕,回头来看红包照片这一套系统,对于客户端而言,区别于普通的朋友圈图片设计差异是否大?它是否复杂?客户端都关注些什么?本文从一个 Android 客户端开发者的角度出发分析了以上这些问题。

  4. 《更优雅的 Android 发布自动版本号方案》:每一次发布新版本,我们都需要针对不同的渠道打多个 Apk 包,如果手动进行该工作,效率将会很低,并且容易出错。如果您的项目是用 Git 管理的,并且恰巧又是使用 Gradle 编译,那么本文将教会你一种更加优雅的自动版本管理方法。

  5. 《一款 Android VoIP 网络电话 App 架构分析》:VoIP 简而言之就是将模拟信号数字化,以数据封包的形式在 IP 网络上做实时传递。飞鸽电话是一款 Android 平台的 VoIP 网络电话应用,支持给任意局域网内使用该 App 的其他用户拨打网络电话。该应用涉及到大量 P2P 语音传输技术。本文出自飞鸽电话作者之手,是对整个开发过程的一个总结,从宏观上分析了整个应用的架构和所涉及到的技术,对于我们学习 VoIP 很有帮助。

  6. 《Android 推送技术研究》:推送已经成为了 App 的必备功能。由于自建推送服务性价比低,并且第三方的服务也比较稳定,所以目前大部分的 App 都会采用接入第三方的推送服务。但了解推送的实现方式还是很有必要的,本文介绍了推送的不同实现方式以及一些关于推送的基本知识点。

  7. 《面过阿里、点我吧、美柚、挖财、有赞 会有怎样的总结?》:面试是每一位开发人员都会经历的一件事情,虽然不同的公司、不同的职位、不同的面试官面试方法都不尽相同,但真金不怕火炼,技术扎实才能在求职的过程中游刃有余。本文作者面试了多家知名公司,总结了一些面试题与大家分享。题目涉及面比较广,包括 Android 技术发展的探讨、性能、Activity(service)启动流程、动态化的几种方案、热修复、网络优化、数据库性能、线程等。本文对于我们巩固知识点有一定的帮助。

开源项目

  1. TranslateApp:该项目是一个划词翻译的开源 App,App 实现了复制单词即可显示的功能。
  2. android-support-23.2-sample:该项目是针对 android-support-23.3 新特性编写的一个 Demo 项目。项目中有包括 Vector Drawable、Animated Vector Drawable、AppCompat DayNight theme、Bottom Sheets、RecyclerView 等。
  3. NineGridImageView:NineGridImageView 是一个能够显示九宫格图片的组件,利用该项目我们可以快速实现类似微信朋友圈显示多图片的功能。

感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。