Android开发周报:谷歌发布50美元手机、Dexposed框架使用详解

jopen 9年前

 

新闻

  1. 《谷歌将发布Android One手机 定价才50美元》 :Android One是谷歌在去年推出的一项计划,该公司旨在通过这项计划让Android系统覆盖更多的发展中国家市场。为了实现这个目的,谷歌已经与众多OEM伙伴联手打造了一批极具竞争力的机型。日前谷歌东南亚负责人拉贾恩•阿南丹(Rajan Anandan)表示,公司将在未来几周针对Android One推出一个全新的计划,这一次它的目标是推出售价50美元(约合310元人民币)的智能手机。
  2. 《苹果开始做Android:好大的“阴谋”》 :近日,媒体注意到,苹果公司在官网发布招聘启事,招募安卓开发员,要开发更多新的安卓软件。或许苹果开发安卓软件,并不简单是为自己的互联网服务开拓用户,到目前为止,苹果只有两个安卓软件,分别是苹果音乐的安卓客户端(尚未发布正式版)以及一个帮助安卓用户迁移数据到苹果手机的工具。苹果招聘启事强调,招聘岗位将开发“新“的安卓工具。
  3. 《数据展示有多少人从Android转投iOS》 :在上个月的苹果季度财报会议上,苹果公司CEO蒂姆·库克表示苹果公司上季度从Android阵营转投到iOS阵营的人数创了新高。当然出现用户转换阵营的现象并不奇怪。此前很多调查显示iOS用户的忠诚度高于Android用户。可是转换阵营的人数到底有多少,至今都没有相关数据说明。

教程

  1. 《Android平台免Root无侵入AOP框架Dexposed使用详解》 :Dexposed是阿里巴巴无线事业部最近开源的Android平台下无侵入运行期AOP框架,该框架基于AOP思想,支持经典的AOP使用场景,可应用于日志记录、性能统计、安全控制、事务处理、异常处理等方面。针对Android平台,Dexposed支持函数级别的在线热更新。本文作者详细介绍了 Dexposed的使用方法,相信能够帮助我们快速上手这个强大的工具。
  2. 《Android Hotpatch系列之项目介绍》 :阿里开源的Dexposed框架提供了在线热更新功能,但很多同学对这个技术还是感觉比较陌生,不知从何下手。比如是否需要自己去写服务器端代码?APK如何下载到本地?如何实现APK替换?现在这些都不是问题了,本文作者是手淘的开发人员,以Demo的形式给出了客户端+服务器端的完整实现。
  3. 《Android Context是什么?》 :Context对于Android开发人员来说并不陌生,项目中我们会经常使用Context来获取APP资源、创建UI、获取系统Service服务、启动Activity、绑定Service、发送广播、获取APP信息等等。那么Context到底是什么?Context又是怎么来实现以上功能的?在什么场景下使用不同的Context?一个APP中总共有多少个Context?本文作者从源码角度详细分析了以上这些问题。
  4. 《Android MVPR架构模式》 :全面的单元测试能提高内部系统的代码质量,因为系统的每一个组件都需要被测试,因此每个单元都需要在系统外被构建,在测试环境中进行测试。对对象进行单元测试需要创建该对象,提供该对象需要的依赖,并与它进行交互,最终检验测试环境的输出是否与预期一致。因此,为了让一个类易于进行单元测试,类的依赖必须明确,而且能够轻易地被替代和明确被调用和验证的责任。在软件工程领域中,这就意味着代码必须松耦合、高内聚。阅读文章,了解作者是如何规划一个适合单元测试的架构。
  5. 《谈谈Android Material Design中的Tint》 :我们在使用appcompat-v7包的时候,为了实现Material Design的效果,会去设置主题里的几个颜色,重要的比如 primaryColor,colorControlNormal,colorControlActived等,而我们使用的一些组件,比如 EditText就会自动变成我们想要的背景颜色,在背景图只有一张的情况下,这样的做法极大的减少了APK包的大小。实现的方式就是用一个颜色为背景图片设置Tint(着色)。本文详细讲解了Tint的相关知识。
  6. 《Cool Android API整理》 : 作者根据网上的一些文章,整理了Android中那些我们平时常用或者不常用,但是很Cool的API。如果大家有好的tips也可以给作者留言推荐。
  7. 《Android应用开发之所有动画使用详解》 :动画是我们开发移动应用最常用到的知识之一,Android中的动画可以分为三大类: View Animation(视图动画)、Drawable Animation(Drawable动画)、Property Animation(属性动画)。View动画只能够为View添加动画,如果想为非View对象添加动画须自己实现。并且View动画支持的种类很少,尤其是他改变的是View的绘制效果,View的属性其实并没有改变。Property动画弥补了View动画的缺陷,你可以为一个对象的任意属性添加动画,对象自己的属性会被真的改变。本文详细分析了Android中的这三种动画,并且分别给出了详细的使用说明。
  8. 《Android上玩玩Hook?》 :还没有接触过Hook技术的读者一定会对Hook一词感觉到特别的陌生,Hook英文翻译过来就是“钩子”的意思,那我们在什么时候使用这个“钩子” 呢?在Android操作系统中系统维护着自己的一套事件分发机制。应用程序,包括应用触发事件和后台逻辑处理,也是根据事件流程一步步的向下执行。而 “钩子”的意思,就是在事件传送到终点前截获并监控事件的传输,像个钩子勾上事件一样。并且能够在勾上事件时,处理一些自己特定的事件。阅读文章,看看如果在Android上玩Hook。

开源项目

  1. LayoutCast :LayoutCast可以在应用不重启的情况下,将res文件夹下的改动直接同步到手机上。使用LayoutCast,可以节约Android开发者的大量编译等待时间,非常适合真机调试界面的时候使用,推荐每一位开发者安装该利器。
  2. AndroidSweetSheet :AndroidSweetSheet是一个富有动感的Sheet(选择器),实现效果很赞。 这里 是作者关于该控件的详细说明。
  3. Android-RatioLayout :RatioLayout是屏幕适配、多样布局的又一神器,使用RatioLayout可以自定义View的宽高比例。该库重写了Android中的 TextView、Button等大部分View。开发者不再需要通过代码去修改View的比例,所有的操作完全可以通过xml去实现。

工具

  1. AWebDB :AWebDB是一款可以通过浏览器查看Android Sqlite Database的库。
  2. Android Studio 1.3.1 Beta 发布 :近日Google发布了Android Studio 1.3.1Beta版本, 这里 是墙内下载地址。