【工利其器】必会工具之(二)Android开发者官网篇
前言
当刚开始踏入Android程序员这个行业的时候,想必绝大多数的人都和笔者一样,热血沸腾,激情四射,买了很多讲解Android开发的书籍。当开发某个功能需要学习某方面知识的时候,大家又成了“面向百度/谷歌开发者”。当然,买书和百度为确实为我们解决了不少项目中遇到的技术问题,这点值得肯定。但是我们是否经常遇到这样的问题:
- 这么多的书籍,该选择哪一本呢?
- 当前google都已经发布Android P了,可是市面上绝大多数书籍还停留在N、M,甚至更早。书上讲的不少内容,在新的平台上要么失效了,要么还会报错。
- 同样的知识点,不同的书上或帖子上描述的不一样,到底应该相信谁?
- 同一个知识点,如Acitivity,这个帖子/书描述一小点内容,另外一个帖子/书又描述另外的侧重点,很零散,没法整体上建立这个知识体系。
......
如果您经常被这样的问题困扰,我想,您应该花些时间好好学习一下google提供的Android开发者官网(后文简称官网)了。本文将简单介绍官网的功能,主要包含如下内容:
一、为什么要阅读Android开发者官网
对于为什么要阅读官网,我认为主要有如下一些因素:
1、准确性。
对于我们普通的Android开发者,官网是我们能获得的第一手资料。其实很多人写书,有的直接就是把官网中的内容翻译了一遍,有的阅读了官网后根据自己的理解和实践经验再诠释了一番,有的甚至压根就不看官网,而是直接看了别人写的东西再加以理解、加工、甚至照搬。之所以能够看到不同的资料对同一个知识点会有分歧,基本上就是因为这些原因。当我们仅仅通过看书或百度,得到的信息就可能已经向像传话游戏一样,早就变味了,甚至中间某个人理解错了,后面的人便错上加错。如果我们认真去阅读官网,那么就能避免这些问题了。
2、权威性。
我们知道“四书五经”中的五经之一《春秋》,还有著名的《春秋》三传:《公羊传》、《谷梁传》和《左传》,这三传就是对《春秋》的注释和理解,都是在该书的基础上发展来的,不能违背《春秋》的基本要义。官网的地位就像《春秋》和《宪法》,其他写Android书的人都不能违背官网的定义。
3、全面性。
官网几乎包含了Android相关的方方面面,最新的新闻、学习资料、API、工具、学习社区、新版本中的新特性等等。我们以对Activity的讲解为例,官网中介绍了它的作用、使用场景、生命周期、API使用、不同版本中功能的变更、代码示例等,几乎是保罗万象。这一点是普通书籍无法做到的。
4、及时性。
所谓“春江水暖鸭先知”,当google对外发布新的系统的时候,其官网上就已经有了对应的开发资料。就不用再担心想学习最新知识而找不到资源的现象了。
除了以上几点,官网文档准确而精炼的风格也值得细细体味。 废话说了一箩筐,其实就是想强调,养成阅读官网的习惯,对于一个开发者的好处是非常大的。
二、官网功能概观
官网的内容非常丰富,本文仅提纲挈领鸟瞰它的整体功能,了解一下官网都能做些什么。
1、官网中文版地址
官网的网址是:https://developer.android.com/,但是由于众所周知的原因,一般是访问不了的,如果想访问就的FQ,在我的另外一篇文章【【安卓本卓】Android系统源码篇之(一)源码获取、源码目录结构及源码阅读工具简介】第四节第2点讲“Android SDK Search”时介绍了一种免费且操作便利的方式,读者可以参考一下。
当然这个官网也有中文版的,地址是:https://developer.android.google.cn/,以下的介绍也是基于该网站的。由于该网站内容部分被翻译为中文,部分还是英文,在以下截图中,同一个地方有时显示英文,有时显示中文,读者在阅读的时候请注意这一点,以免被绕晕。
2、整体功能预览
进入网站后的Home页面,最顶端的界面如下图所示:
这个截图便展示了官网包含的6个主要功能模块:
(1)Platform
该模块用于解决Android系统有哪些版本,能在哪些设备运行的问题。它介绍了平台信息相关的内容,包括已经支持的设备(如手机、平板、汽车等),不同系统平台版本特征变更,所用到的技术、库、语言等。
(2)Android Studio
该模块用于解决App用什么工具开发的问题。Android Sdudio(后文简称AS)是官方推荐的开发工具,这里面包含了Android Stidio相关的版本、功能等各种信息。
(3)Google Play
该模块用于解决App在哪里发布的问题。Google Play是Google自己的应用市场,用于发布和下载app。
(4)Android Jetpack
该模块用于解决如何更有效率地开发App的问题。Jetpack是Android软件组件的集合,用于简化app的开发,帮助开发者提高开发效率。
(5)Docs
该模块用于解决如何开发App的问题。这一部分指导开发者如何开发app,包括对组件的介绍、代码案例、API说明、界面设计、资源使用等。
(6)News
该模块用于解决如何让开发者获取关于Android开发的一些重要资讯的问题。
(7)重要网站链接
在首页中,官网还提供了一些Android相关的重要网站。比如“面向Android的Google服务”、Android系统源代码等。
三、Platform简介
Android是全球最受欢迎的移动操作系统,为手表、手机、平板电脑、电视等数十亿设备提供平台支持。点击该功能模块时,会看到如下截图界面,这里面又划分为4个子模块:
1、版本
这一块的大纲信息如下图所示,
该模块上半部分介绍了Android K到Android P这6个系统版本中各个版本的新增功能、行为变更、如何兼容等内容。下半部分介绍了当前Android支持的设备,提供了Android 手表、Android电视、Android汽车、Android嵌入式以及Chrome操作系统设备中Android版本的使用导航。
2、技术
这部分介绍了Android系统整体用到的一些技术要点,比如平台架构、系统安全性等,了解这方面的知识能帮助开发者更好地理解Android系统原理。
3、库
Android支持库提供了很多未内置到框架内的功能,比如一些实用的UI元素、应用程序、向后兼容版本的新功能等,比如我们常碰到的v4包、v7包等。该模块介绍了这些库的功能,特性,以及如何使用这些库。
4、KOTLIN
官方公布的用来取代java的Android应用开发语言,具有良好的特性,更适合Android平台。在官网中提供代码实例时,都会提供Java和Kotlin两个版本。该模块介绍了很多Kotln的特性,优势等,提供了不少学习资源,甚至还链接到了一些学习社区。由此可见,Android对Kotlin是花了大力气的。
四、AndroidStudio
AS可以为所有类型的Android设备构建app,也为构建这些app提供了最快的工具。当我们打开AS的时候,会发现AS菜单非常丰富,其功能也是非常强大。 .在这个模块中,官网提供大量关于AS的信息,包括了版本下载、新增功能、有哪些功能、如何使用这些功能等,几乎涵盖了咱们普通开发者工作中可能遇到的方方面面。如下截图可以从整体上了解该模块的内容:
对于绝大多数的开发者来说,出于工作的原因,可能仅仅是长期使用了其中的某一小部分功能。笔者就是这样,直到特意看了这一部分的内容后,才意识到,原来AS可以为我们开发App做这么多工作。功能太多,这里笔者无法一一介绍,希望读者可以去官网上去浏览浏览,一定会很有收获。这里笔者从“用户指南”这一块截取了一小部分菜单,可以先感受感受。
五、Google Play
Google自己的应用市场,国内的开发者一般用得比较多的是“应用宝”等国内的应用市场。这一模块也是手把手教开发者了解和使用Google Play。
六、Android Jetpack
官网上的介绍如下为“Jetpack是Android软件组件的集合,使您可以更轻松地开发出色的Android应用。这些组件可以帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上”。从这可以看出来,Jetpack主要是用于提高开发效率。官网提供了功能详解、使用教程、技术指导、开发社群等完整的学习资源,如下图所示:
官网上特地为Jetpack列出一个独立的模块,可见对它是很重视的。笔者平时工作中没有接触过这一块的内容,但是从官网的态度来看,想必和Kotlin和AS一样,也是被官方所极力推广的吧。
七、文档
这一模块应该是整个官网最核心的地方吧,因为这里面的花了相当大的篇幅详细讲解了Android开发中组件、功能、API等用于开发App的具体知识点。一般市面上的Android书籍,80%的内容都是讲这方面的内容:知识点介绍,如何使用这些功能,有哪些API接口,示例代码等。该模块主要从指南、参考、示例、设计和质量这4个反面进行阐述,如下图所示:
1、指南
这一块详细介绍了Android组件(如Acitivity,Service等)、功能(相机、Wifi、蓝牙等)、动画、界面等各个方面的知识点。咱们这里以Activity为例直观感受一下。下图为介绍Acitity的一个菜单截图:
每一个菜单项都对某一个知识做了详细的讲解。这里会详细讲解什么是Activity,Activity的功能是什么,怎样使用Activity,什么场景下使用Activity,生命周期有哪些,使用时的注意事项等,甚至给出了具体的使用代码。
2、参考
这一块的内容中,完整介绍了不同API版本中Android提供给用户使用的所有的类信息,包括作用、路径、继承关系、包含常量,提供的函数等。我们经常会调用系统提供的颜色值如R.color.black等,就是系统的常量。如下若干截图可以直观感受一下:
3、示例
官网为开发者提供了大量的案例来指导开发者来使用这些类和API,每一个案例都提供了Java和Kotlin两个版本,如下图所示:
4、设计和质量
Android应用期望使用的app外观和行为与平台保持一致。开发者不仅应当遵循Material Design指南来设计视觉和导航模式,还应该遵循质量指南,以便确保兼容性、性能和安全性等。该模块为开发者设计优质的Android应用提供了设计指导和所需的一切资源。
八、新闻
可以获取最新的Anroid开发者新闻和提示。
九、重要的网站链接
在官网首页的最底部,还提供了Android另外几个重要的官方网站,如下图所示:
这些网站也为开发者提供了很多Android相关的信息,可惜这些链接都是国际版本网站,国内打不开。笔者这里只找到了“源代码”的中文版链接:https://source.android.google.cn/,该网站提供了关于Android系统源码的各方面知识,对于Android开发者,尤其是系统开发者来说,可以提供很大的帮助。其它的链接,以后如果能找到对应的中文网站,再来补充完整。
结语
Android开发者官网具有风向标的作用,对Android开发者而言,是一款免费而且相当有帮助的工具,养成阅读官网的习惯,对Android开发来说具有非常大的帮助。对于程序员来说,任何一门语言和工具,官方文档就是最好的工具,甚至有不少经验丰富的开发者说,如果能够充分利用Android开发者官网,完全不需要购买任何技术书籍。当然咱们不能否认书籍的作用,因为官网的有些语言,可能初学者读起来会很生涩,不太容易读懂,这时候书籍或者一些大牛的博客往往能够用一些比较容易理解的语言去讲解这些知识点,从这方面来说,Android技术书籍肯定是具有很大的价值的。笔者对官网的接触还很浅,正在不断地学习当中,文中有描述不妥或错误的地方,还请多指正。