Android 日新月异的技术

前言

在日新月异的技术世界里,Android 作为移动端份额最大的操作系统当然是紧紧的占据着第一线,也为 Java 这门语言注入着新活力

身为几百万的 Android 开发之一,有必要了解掌握 Android 的最新技术。(新技术包括近两年来非常受欢迎的技术及在未来极具潜力的技术,当前时间2016年9月15日,后续也会继续更新)

Android 版本

  • 2008年9月谷歌正式发布了 Android 1.0 系统

  • 中间版本略去不提及(Android L 发布尤其重要,可以说其带来的新特性尤其是新的设计规范带给 Android 新的活力)

  • 2016年 Android 7.0 (Nougat)

虽然饱受碎片化的困扰,但新版本的更新率也在不断提高

Android N

Android迭代至今已经非常成熟,是移动端最成功的操作系统之一,而且保持着一年一次的大版本更新。2016年,Android迎来了以牛轧糖 Nougat 命名的 Android N(7.0) 操作系统,带来了数十项的更新优化

包括多窗口支持、通知功能增强、配置文件指导的 JIT/AOT 编译、快速的应用安装路径、瞌睡模式的增强等方面。
Google I/O 2016 上发布的 Android N 有哪些新特性?

Android Studio 编译器

I/O 2013 ,谷歌推出新的 Android 开发环境,基于 IntelliJ IDEA 的 Android Studio,以此来取代 Eclipse,并且不断更新至今。
在 IDEA 的基础上,Android Studio 提供了以下一些功能:

  • 基于 Gradle 的构建支持
  • Android 专属的重构和快速修复
  • 提示工具以捕获性能、可用性、版本兼容性等问题
  • 支持 ProGuard 和应用签名
  • 基于模板的向导来生成常用的 Android 应用设计和组件
  • 功能强大的布局编辑器,可以让你拖拉 UI 控件并进行效果预览

Android Studio 2.2

I/O 2016 ,谷歌推出了 Android Studio 2.2 预览版,按照谷歌的说法,本次更新包含了三个方面: speed, smarts, and Android platform support,言外之意就是更快、更智能,而且增加了很多有用的功能

  1. Layout Editor 全新的布局编辑器
  2. Constraint Layout 约束布局
  3. Samples Browser 谷歌示例代码
  4. Instant Run Improvements 改进的Instant Run
  5. Build Cache 编辑缓存
  6. APK Analyzer APK分析
  7. Virtual Sensors in the Android Emulator 支持虚拟传感器的模拟器
  8. 除以上之外,此次更新还包括对 Java 8 的支持,Jack 编译器的改进,可以调试 GPU,改进了对 C++ 的支持等,推出了不少提升 Android 开发效率的工具,性能上也做了优化。

在2016年9月19日,谷歌推出了 Android Studio 2.2 正式版。Android Studio 2.2 来啦

Android Studio 3.0

Android Support Library

Android Support LIbrary 库是谷歌为提供不同版本的兼容包和兼容不同形态设备提出的解决方案,通过jar包引入,这是安卓开发者必须了解的内容。比如 v4 Support Libraries 被设计在 Android 2.3 (API level 9) 及其以上系统中使用,v7 Support Libraries 支持Android 2.1 (API level 7)及其以上版本,Design Support Library 配合 material design 设计等,最近的两次大更新:

Support Library 23.2

更新内容包括:提供对 Vector Drawables 和 Animated Vector Drawables 的支持,官方的夜间模式,Design Support Library 中 新增的 Bottom Sheets,RecyclerView的优化等
Android Support Library 23.2:特性介绍

Support Library 24.2

更新内容包括:对 v4, v7 Support Libraries 支持范围�提升至 Android 2.3 (API level 9) 及其以上版本,并对他们进行了拆分,使得项目依赖减少
Android Support Library的前世今生

Material Design

质感设计,是由�谷歌推出的全新设计语言,这种设计语言旨在为手机、平板电脑、台式机和“其他平台”提供更一致、更广泛的“外观和感觉”。虽然距离 Material Design 设计规范的推出已有两年多之久,但它的提出足以让人兴奋不已,这是谷歌拿出的媲美苹果的扁平化设计。标志着不欣赏设计,对设计毫无感觉的�谷歌已是昨日
Material Design中文wiki
Materialup-MD设计灵感

语言

React-native 中文网

随着移动互联网的崛起,实现跨平台开发一直都是程序员的梦想。目前移动应用的跨平台解决方案也很多,而由 Facebook 主导的 React Native 是�最成熟,最优秀的方案之一。
React Native 是一个跨平台移动 APP 开发框架,基于 JavaScript 和 React 之上可以在多平台上获得完全一致的开发体验,提高开发效率。

Kotlin 中文网

Kotlin 是由 JetBrain 在2011年推出的一个运行在JVM上的语言, 看上去有点类似C#和Scala的结合,并且同为静态类型。作为一门JVM上的语言,可以轻松兼容Java,并且整个语言设计的非常轻量。
专注于互通,安全,简洁,工具健全...可以实现 Java + Kotlin 的无缝开发。
因为是同为 JetBrain 推出,所以Android Studio对其有非常良好的支持性。
作为 Android 领域的 Swift,绝对让你如沐新风。抛弃沉重的 Java 语法,Kotlin 融入了很多现代编程语言的思想。如果你受够了 Java 的繁琐还有时不时出现的空指针错误,并且对高级函数式语言心生向往,kotlin绝对值得一试

开发模式

MVP

普通的 Android 开发模式可以定义为 MVC 模式,由 Activity 和 Fragment 充当着 Controller 的角色。
由于 MVC 中 View 和 Model 之间的依赖太强,导致 Activity 中的代码过于臃肿。为了他们可以绝对独立的存在,慢慢演化出了 MVP。在 MVP 中 View 并不直接使用 Model,它们之间的通信是通过 Presenter (MVC 中的 Controller) 来进行的。
安卓设计模式示例

MVVM

数据绑定在 Windows WPF 和 Web 已经非常常见,它非常高效的开发效率,让你只关心你的数据和业务。对于庞大的项目而言有时 MVP 模式也无法满足简化系统开发的复杂度,MVVM 就显的更为重要了。
MVVM 可以算是 MVP 的升级版,将 Presenter 改名为 ViewModel。关键在于 View 和 Model 的双向绑定,当 View 有用户输入后,ViewModel 通知 Model 更新数据,同理 Model 数据更新后,ViewModel 通知 View 更新。
I/O 2015 ,谷歌推出了 Data Binding 库作为 MVVM 的框架,Model 将会自动更新 View 而无需经过 ViewModel ,可以最大限度的实现 ViewModel(Activity等) 和 View 的解偶。经过一年的发展,从Beta到如今比较完善的版本,从Android Studio 1.3到如今2.2的支持,可以说Data Binding已经是一个可用度较高,也能带来实际生产力提升的技术了
Data Binding入门篇
Data Binding高级篇

FLUX

Flux模式最大的特点是单向的数据流 unidirectional data flow ,它的 UI 状态更新模式继承了 MVC 模式的设计思想。 Facebook 开源的 React 系列(React.js / React Native)都是基于此模型。
Android Flux中文说明

Retrofit+RxJava

如果说让我选 2015 年最令人兴奋的 Android 技术的话,我一定会选 Retrofit + RxJava 这对黄金组合。Retrofit 是一个应用于 Android 的第三方网络请求库,拥有方便独特的接口定义,网络工具的高度集成,丰富完善的接口回调的特点,更重要的一点,它可以提供 RxJava 的回调接口。而 RxJava 是利用可观察序列和操作符来编写异步和基于事件的程序,十分适用于 Android 的线程机制。两者的结合是一份非常完美的网络异步请求框架。当然 RxJava 还有更广泛的使用场景。
RxJava的使用总结

Dagger2

依赖注入并不是什么新技术,但是使用在 Android 确实一个新的尝试。Android App 越来越被当成严肃的大型项目来构建,很多在以前大型服务器开发上使用的技术都被应用到了移动开发。Android 开发分模块开发,使用 Dagger 来松耦合模块。特别值得一体的是,Dagger 2 现在由 Google 亲自接管。
dagger2

Android热更新技术

发布版本的长周期高代价使得Android的热更新技术处于炙手可热的状态,虽然方案并没有完全成熟,或多或少都存在些问题,但各大公司都在积极摸索中。
QQ空间超级补丁基于DEX分包方案,使用了多DEX加载的原理,微信Tinker基于前者,差距在于提出了一个提供DEX差量包,整体替换DEX的方案,阿里百川HotFix基于Andfix,美团Robust原理类似于Instant Run。
Android热修复技术选型——三大流派解析
Android热更新方案Robust

参考来源

知乎: Android 开发有哪些新技术出现?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,290评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,399评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,021评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,034评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,412评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,651评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,902评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,605评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,339评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,586评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,076评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,400评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,060评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,851评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,685评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,595评论 2 270

推荐阅读更多精彩内容