Android开发周报:Android全球份额达到81%

新闻

  1. 《5.0版本1月增长1.6%》:谷歌周一更新了Android版本分布图。最新版的Android 5.0 Lollipop终于在上月呈现增长,且增势压过4.4 KitKat的风头。KitKat是在一月到二月期间,除了Lollipop外,唯一仍保持份额上涨的旧版本。
  2. 《2014 年Android手机卖出10亿多部,全球份额81%》:Strategy Analytics 公司最新数据显示,2014 年全球智能手机出货达 12.8 亿,其中 Android 手机出货 10.42 亿部,占全球 81% 市场份额;苹果手机出货 1.93 亿部,占 15% 市场份额;Windows Phone 出货 3900 万,市场份额显得微不足道。Android主要在南美、亚洲等新兴市场实现增长,欧美等地区市场已几乎饱和,各手机厂商都在关注开辟新兴市场。更多廉价手机的出现是 Android 发力的重要手段,而这也确实让 Android 市场进一步扩张。
  3. 《开发不易!2015年移动应用开发趋势总结》:硬件性能的提升,新技术的出现都是影响移动应用发展的重要因素,而最近几年里,这两个方面都有着不小的进步。从不断增加的屏幕分辨率,64位处理器,到支持所有平台开发的HTML5技术逐步成熟,每个方面都不容小觑。不过,在这种情况下,最辛苦的应该是开发人员,因为他们的技能也需要随之提升。但在刻苦专研技能的同时,也有必要了解一下2015年移动应用开发的发展趋势,从而为自己的努力找到方向。

教程

  1. 《我眼中的下拉刷新》:本文的作者是下拉刷新android-Ultra-Pull-To-Refresh开源项目的开发者。在APP交互中,下拉刷新是非常常见的一种交互方式。但在两三年之前,Android 的类库打包对自定义组件的支持是很弱的,res-auto 这样的xml布局属性命名空间是在SDK Tool Version 17 中才支持的,相信很多开发者都有过自己写下拉刷新组件的经历。作者在文中分析了下拉刷新的发展历史,详细介绍了实现一款兼容多种组件下拉刷新的方法及其原理。

  2. 《如何使用mitmproxy调试Android HTTP请求》:在Android开发中我们常常会和API 打交道,大部分情况下,调试发送网络请求和接收响应的过程都是十分痛苦的。这个时候,代理的作用就显示出来了。mitmproxy是一款可以进行API调试使用的代理软件,文章中作者介绍了mitmproxy的安装过程、使用场景、使用方法。

  3. 《Android反编译及smali语法》:开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式,解开其他的程序,来了解一些它的做法。同时,还可以借鉴别人的软件结构,资源文件,等等。作者讲解了一些关于反编译相关的知识,主要分三篇,第一篇介绍反编译的工具和方法,第二篇,介绍smali的语法,第三篇介绍如何防止反编译。反编译后可以得到jar或者得到smali文件。Android采用的是java语言进行开发,但是Android系统有自己的虚拟机Dalvik,代码编译最终不是采用的java的class,而是使用的smali。我们反编译得到的代码,jar的话可能很多地方无法正确的解释出来,如果我们反编译的是smali则可以正确的理解程序的意思。因此,我们有必要熟悉smali语法。
  4. 《Android动画》:Android 3.0以前,支持两种动画模式:Tween Animation和Frame Animation,在Android 3.0中又引入了一个新的动画系统:Property Animation,这三种动画模式在SDK中被称为Property Animation,View Animation,Drawable Animation。 可通过NineOldAndroids项目在3.0之前的系统中使用Property Animation。另外,还有activity之间的过渡动画,Android5.0增加的矢量动画,过渡效果等。作者分别总结了Frame Animation和View Animation的相关知识,收藏该文,可以作为备忘使用。
  5. 《是否有必要在Android项目中使用IOC框架》:IOC就是Inversion of Control,控制反转。在Java开发中,IOC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转。Android中IOC框架有Dagger、RoboGuice等。在Spring中IOC更多的是依靠 xml的配置,而Android上的IOC框架均不使用xml配置系统,阅读文章,了解Android中是否有必要使用IOC框架。
  6. 《Handling Android resources with non-standard formats》:Android开发者每天都需要为多款屏幕做兼容,同一个界面,在小屏幕上需要全屏,但在平板上,或许只需要像一个Dialog弹出就可以,那么如何设置layout_width呢?作者讲解了简单的实现方法,介绍了View's attributes的一些知识,并且推荐开发者阅读系统的attrs.xml。

开源项目

  1. CircleMenu:CircleMenu实现了建行圆形菜单的效果,可以随意旋转,效果很酷。作者还写了一篇博客介绍了该项目的一些实现。建议大家阅读源码,了解更多自定义控件、绘图方面的知识。
  2. soas:soas汇总了一些项目、组件的使用方法,适合新手学习,特别是Lollipop and Material的初学者。包括Toolbar、Drawer、Vollery、JSON、Themes、Gradle等等。
  3. Material Dialogs:Material Design风格的弹出框,支持所有的Android版本。支持自定义多个点击按钮、自定义不同的主题风格。Android开发中经常使用的弹出效果,该组件都可以实现,开发者可以非常方便的集成到自己的项目中。

感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(Android开发周报:Android全球份额达到81%)