Android 开发周报:Android 7.0 新机下月发布、推送方案技术选型

  • 郭亮

2016 年 8 月 10 日

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

新闻

  1. 《Android 7.0 采用独特的 Home 按键设计》:Home 按键能够有怎样独特的功能?无论是苹果 iOS 还是 Android 都有自己的 Home 按键,功能实际上都差不多,只不过分为物理实体按键和虚拟按键。当然也有很多有实力的厂商自己开发独特功能的 Home 按键,比如国内的魅族和 ZUK。最近谷歌 Android 7.0 版本的新 Home 按键被泄露。从泄露的动态图看,这这次谷歌打算给 Home 按键带来点不一样的内容。

  2. 《首款 Android 7.0 新机下月发布,竟然不是谷歌系》:此前传出 LG 将于 9 月份发布的 LG V20 的消息,而现在 LG 官方正式放出邀请函,宣布将于 9 月 6 日在美国旧金山举办发布会正式推出 LG V20。同时由于此次 LG 的邀请函出现了立体书籍的画面,并配有“Play More”的宣传口号,所以结合 LG 为谷歌 VR 平台 Daydream 合作伙伴的身份,外界普遍推测 LG V20 或将带来更多与 VR 有关的功能。

  3. 《Android 又曝严重安全漏洞,高通 CPU 躺枪》:Android 系统的安全问题还真是一刻都不能放松,现在又有 4 个严重安全漏洞被发现,不过这次这些漏洞只出现在了搭载高通处理器的设备上。漏洞的信息安全研究公司 Check Point 表示,发现这些漏洞名为“Quadrooter”,允许黑客在无须请求授权的情况下诱导用户安装恶意应用。在应用安装后,黑客可以获得根权限并完全控制受影响的 Android 设备,包括其中的数据和硬件。

教程

  1. 《Android N 混合编译与对热补丁影响解析》:大约在六月底,Tinker 在微信全量上线了一个补丁版本,随即华为反馈在 Android N 上微信无法启动。冷汗冒一地,Android N 又搞了什么东东?为什么与 instant run 保持一致的补丁方式也会出现问题?本文详细介绍了 Android N 混合编译对热补丁的影响。

  2. 《Android 端外推送到底有多烦?》:说 Android 端外推送比较烦,实际有两层意思:首先是说实现上比较麻烦,至今业界也没有找到一种完美的解决方案,Android 程序员通常需要同时集成多家推送平台(如果有自己的端内推送,还要考虑与端内推送的配合);其次是说 Android 推送的市场现状比较混乱,无论选择哪一家,都让人纠结万分,难免心情烦躁。无论是你花费了多少功夫,做了多少优化,仍然可能存在推送不到或推送延迟的情况。本文的目的,就是站在一个 App 开发团队的角度,集中讨论两方面的问题:如何对各家的推送平台进行技术选型;在集成各家推送平台的 SDK 的时候,应该重点关注哪些问题。

  3. 《Matrix 原理》:Matrix 是一个矩阵,主要功能是坐标映射,数值转换。Matrix 是一个一直在后台默默工作的劳动模范,虽然我们所有看到 View 背后都有着 Matrix 的功劳,但我们却很少见到它,本文为我们详细介绍了 Matrix 相关的知识。

  4. 《Android5.1.1 - APK 签名校验分析和修改源码绕过签名校验》:Apk 安装到手机上的时候,系统会校验签名,如果签名异常,则不会安装成功。但是如果你足够了解系统的签名校验方法,想办法绕过签名校验也是有办法的。本文给出了 Android 5.1.1 版本中绕过签名校验的方案。

  5. 《Android 开发架构规范》:在开发中,一个良好的开发习惯以及一个开发规范可能会让你少走很多弯路,也会一定程度上的提高代码的可读性,可维护性和可拓展性。当随着需求的不断变更,需要维护项目的时候。当随着项目的代码量的提升,需要重构的时候,便会明白一个好的开发规范多么多么的重要。本文作者整理了自己在 Android 开发中的一些规范,希望对大家有参考意义。

  6. 《Android 带你解析 ScrollView-- 仿 QQ 空间标题栏渐变》:本文研究的对象是 ScrollView——滚动视图,滚动视图又分横向滚动视图(HorizontalScrollView)和纵向滚动视图(ScrollView),本文主要研究纵向的。相信大家在开发中经常用到,ScrollView 的功能已经很强大了,但是仍然满足不了我们脑洞大开的 UI 设计师们,所以我们就需要了解 ScrollView 的自定义技术。本篇文章主要讲解监听 ScrollView 的滑动实现仿 QQ 空间标题栏渐变。

  7. 《C/C++ 在 Java 项目、Android 和 Objective-C 三大平台下实现混合编程》:Android 和 iOS 都支持 C++ 开发,可以一套代码多平台使用。同时 C++ 难以反编译的特性也可以为 Android 开发带来代码的保密,另外 native 特性也可以提高代码的运行效率。文章的后半部分中给出了 C/C++ 在 Android 平台编程的方案。

开源项目

  1. Luban:目前做 App 开发总绕不开图片这个元素。但是随着手机拍照分辨率的提升,图片的压缩成为一个很重要的问题。单纯对图片进行裁切,压缩已经有很多文章介绍。但是裁切成多少,压缩成多少却很难控制好,裁切过头图片太小,质量压缩过头则显示效果太差。于是自然想到 App 巨头“微信”会是怎么处理,Luban(鲁班)就是通过在微信朋友圈发送近 100 张不同分辨率图片,对比原图与微信压缩后的图片逆向推算出来的压缩算法。

  2. TastyToast:TastyToast 是一款自定义的 Android Toast,比系统自带的 Toast 效果美观了很多。

  3. AndroidSweetSheet:这是一个带有动画的 Sheet,动画效果很赞。

  4. MaterialLogin:MaterialLogin 是一个登录组件,页面跳转带有动画过渡效果,整个界面很漂亮。


感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

移动Android语言 & 开发架构