第 1 章 开始启程——你的第一行Android代码
欢迎你来到Android世界!Android系统是目前世界上市场占有率最高的移动操作系统,不管你在 哪里,都可以看到Android手机几乎无处不在。今天的Android世界可谓欣欣向荣,可是你知道它 的过去是什么样的吗?我们一起来看一看它的发展史吧。
2003年10月,Andy Rubin等人一起创办了Android公司。2005年8月谷歌收购了这家仅仅成立了22 个月的公司,并让Andy Rubin继续负责Android项目。在经过了数年的研发之后,谷歌终于在 2008年推出了Android系统的第一个版本。但自那之后,Android的发展就一直受到重重阻挠。乔 布斯自始至终认为Android是一个抄袭iPhone的产品,里面剽窃了诸多iPhone的创意,并声称一 定要毁掉Android。而本身就是基于Linux开发的Android操作系统,在2010年被Linux团队从 Linux内核主线中除名。又由于Android中的应用程序都是使用Java开发的,甲骨文则针对 Android侵犯Java知识产权一事对谷歌提起了诉讼…… 可是,似乎再多的困难也阻挡不了Android快速前进的步伐。由于谷歌的开放政策,任何手机厂 商和个人都能免费获取到Android操作系统的源码,并且可以自由地使用和定制。三星、HTC、 摩托罗拉、索爱等公司都推出了各自系列的Android手机,Android市场上百花齐放。仅仅推出两 年后,Android就超过了已经霸占市场逾十年的诺基亚Symbian,成为了全球第一大智能手机操 作系统,并且每天都还会有数百万台新的Android设备被激活。而近几年,国内的手机厂商也是 大放异彩,小米、华为、魅族等新兴品牌都推出了相当不错的Android手机,并且也获得了市场 的广泛认可,目前Android已经占据了全球智能手机操作系统70%以上的份额。 说了这些,想必你已经体会到Android系统炙手可热的程度,并且迫不及待地想要加入到Android 开发者的行列当中了吧。试想一下,十个人中有七个人的手机都可以运行你编写的应用程序, 还有什么能比这个更诱人的呢?那么从今天起,我就带你踏上学习Android的旅途,一步步地引 导你成为一名出色的Android开发者。 好了,现在我们就来一起初窥一下Android世界吧。
1.1 了解全貌——Android王国简介 Android从面世以来到现在已经发布了二十几个版本了。在这几年的发展过程中,谷歌为Android 王国建立了一个完整的生态系统。手机厂商、开发者、用户之间相互依存,共同推进着Android 的蓬勃发展。开发者在其中扮演着不可或缺的角色,因为如果没有开发者来制作丰富的应用程 序,那么不管多么优秀的操作系统,也是难以得到大众用户喜爱的,相信没有多少人能够忍受 没有QQ、微信的手机吧。而且,谷歌推出的Google Play更是给开发者带来了大量的机遇,只要 你能制作出优秀的产品,在Google Play上获得了用户的认可,你就完全可以得到不错的经济回 报,从而成为一名独立开发者,甚至是成功创业!
那我们现在就以一个开发者的角度,去了解一下这个操作系统吧。纯理论型的东西也比较无 聊,怕你看睡着了,因此我只挑重点介绍,这些东西跟你以后的开发工作都是息息相关的。
1.1.1 Android系统架构 为了让你能够更好地理解Android系统是怎么工作的,我们先来看一下它的系统架构。Android大 致可以分为四层架构:Linux内核层、系统运行库层、应用框架层和应用层。 01. Linux内核层 Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如 显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。 02. 系统运行库层 这一层通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据 库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。 同样在这一层还有Android运行时库,它主要提供了一些核心库,能够允许开发者使用Java 语言来编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(5.0系统之后改 为ART运行环境),它使得每一个Android应用都能运行在独立的进程当中,并且拥有一个 自己的Dalvik虚拟机实例。相较于Java虚拟机,Dalvik是专门为移动设备定制的,它针对手 机内存、CPU性能有限等情况做了优化处理。 03. 应用框架层 这一层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是 使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。 04. 应用层
所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序, 或者是你从Google Play上下载的小游戏,当然还包括你自己开发的程序。 结合图1.1你将会理解得更加深刻,图片源自维基百科。
图 1.1 Android系统架构 1.1.2 Android已发布的版本 2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。随后的几年,谷 歌以惊人的速度不断地更新Android系统,2.1、2.2、2.3系统的推出使Android占据了大量的市 场。2011年2月,谷歌发布了Android 3.0系统,这个系统版本是专门为平板电脑设计的,但也是 Android为数不多的比较失败的版本,推出之后一直不见什么起色,市场份额也少得可怜。不过 很快,在同年的10月,谷歌又发布了Android 4.0系统,这个版本不再对手机和平板进行差异化 区分,既可以应用在手机上,也可以应用在平板上。2014年Google I/O大会上,谷歌推出了号称 史上版本改动最大的Android 5.0系统,其中使用ART运行环境替代了Dalvik虚拟机,大大提升了 应用的运行速度,还提出了Material Design的概念来优化应用的界面设计。除此之外,还推出了 Android Wear、Android Auto、Android TV系统,从而进军可穿戴设备、汽车、电视等全新领 域。之后Android的更新速度更加迅速,2015年Google I/O大会上推出了Android 6.0系统,加入运 行时权限功能,2016年Google I/O大会上推出了Android 7.0系统,加入多窗口模式功能,这也是 目前最新的Android系统版本。 下表列出了目前主要的Android系统版本及其详细信息。你看到这张表格时,数据可能已经发生 了变化,查看最新的数据可以访问http://developer.android.google.cn/about/dashboards/ 。
版本号 系统代号 API 市场占有率
2.2 Froyo 8 0.1%
2.3.3 – 2.3.7 Gingerbread 10 1.5%
4.0.3 – 4.0.4 Ice Cream Sandwich 15 1.3%
4.1.x 4.2.x 4.3
Jelly Bean
16 17 18
5.6% 7.7% 2.3%
4.4 KitKat 19 27.7%
5.0 5.1 Lollipop 21 22
13.1% 21.9%
6.0 Marshmallow 23 18.7%
7.0 Nougat 24 0.1%
从上表中可以看出,目前4.0以上的系统已经占据了超过98%的Android市场份额,因此我们本书 中开发的程序也只面向4.0以上的系统,2.x的系统就不再去兼容了。 1.1.3 Android应用开发特色 预告一下,你马上就要开始真正的Android开发旅程了。不过先别急,在开始之前我们再来一起 看一看,Android系统到底提供了哪些东西,可供我们开发出优秀的应用程序。 01. 四大组件 Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。其中活动是所有Android应用程序的门面,凡 是在应用中你看得到的东西,都是放在活动中的。而服务就比较低调了,你无法看到它, 但它会一直在后台默默地运行,即使用户退出了应用,服务仍然是可以继续运行的。广播 接收器允许你的应用接收来自各处的广播消息,比如电话、短信等,当然你的应用同样也 可以向外发出广播消息。内容提供器则为应用程序之间共享数据提供了可能,比如你想要 读取系统电话簿中的联系人,就需要通过内容提供器来实现。
02. 丰富的系统控件 Android系统为开发者提供了丰富的系统控件,使得我们可以很轻松地编写出漂亮的界面。 当然如果你品位比较高,不满足于系统自带的控件效果,也完全可以定制属于自己的控 件。
03. SQLite数据库 Android系统还自带了这种轻量级、运算速度极快的嵌入式关系型数据库。它不仅支持标准 的SQL语法,还可以通过Android封装好的API进行操作,让存储和读取数据变得非常方 便。
04. 强大的多媒体 Android系统还提供了丰富的多媒体服务,如音乐、视频、录音、拍照、闹铃,等等,这一 切你都可以在程序中通过代码进行控制,让你的应用变得更加丰富多彩。
05. 地理位置定位 移动设备和PC相比起来,地理位置定位功能应该可以算是很大的一个亮点。现在的Android 手机都内置有GPS,走到哪儿都可以定位到自己的位置,发挥你的想象就可以做出创意十 足的应用,如果再结合功能强大的地图功能,LBS这一领域潜力无限。 既然有Android这样出色的系统给我们提供了这么丰富的工具,你还用担心做不出优秀的应用 吗?好了,纯理论的东西就介绍到这里,我知道你已经迫不及待想要开始真正的开发之旅了, 那我们就开始启程吧!
1.2 手把手带你搭建开发环境 俗话说得好,“工欲善其事,必先利其器”,开着记事本就想去开发Android程序显然不是明智之 举,选择一个好的IDE可以极大幅度地提高你的开发效率,因此本节我就将手把手带着你把开发 环境搭建起来。
1.2.1 准备所需要的工具 我现在对你了解还并不多,但我希望你已经是一个颇有经验的Java程序员,这样你理解本书的内 容时将会轻而易举,因为Android程序都是使用Java语言编写的。如果你对Java只是略有了解, 那阅读本书应该会有一点困难,不过一边阅读一边补充Java知识也是可以的。但如果你对Java完 全没有了解,那么我建议你可以暂时将本书放下,先买本介绍Java基础知识的书学上两个星期, 把Java的基本语法和特性都学会了,再来继续阅读这本书。 好了,既然你已经阅读到这里,说明你已经掌握Java的基本用法了,下面我们就来看一看开发 Android程序需要准备哪些工具。 JDK 。JDK是Java语言的软件开发工具包,它包含了Java的运行环境、工具集合、基础类库 等内容。需要注意的是,本书中的Android程序必须要使用JDK 8或以上版本才能进行开 发。
Android SDK 。Android SDK是谷歌提供的Android开发工具包,在开发Android程序时,我 们需要通过引入该工具包,来使用Android相关的API。 Android Studio 。在很早之前,Android项目都是用Eclipse来开发的,相信所有Java开发者 都一定会对这个工具非常熟悉,它是Java开发神器,安装ADT插件后就可以用来开发 Android程序了。而在2013年的时候,谷歌推出了一款官方的IDE工具Android Studio,由于 不再是以插件的形式存在,Android Studio在开发Android程序方面要远比Eclipse强大和方便 得多。不过由于Android Studio早期的测试版本并不是非常稳定,所以本书的第1版仍然选用 Eclipse来作为开发工具。而如今,Android Studio已经推出了2.2版本,稳定性完全不再是问 题,普及程度方面也远超Eclipse,没有比现在更适合的时机来换用Android Studio了,因此 本书中所有的代码都将在Android Studio上进行开发。 1.2.2 搭建开发环境
当然,上述软件并不需要你去一个个地下载,因为谷歌为了简化搭建开发环境的过程,将所有 需要用到的工具都帮我们集成好了,到Android官网就可以下载最新的开发工具,下载地址 是:https://developer.android.google.cn/studio/index.html 。不过,Android官网通常都需要科学上 网才能访问,如果你无法访问的话,也可以直接到我的百度网盘去下载,下载地址 是:https://pan.baidu.com/s/1nuABMDb 。(注意网址中是阿拉伯数字1,而不是英文字母l。) 你下载下来的将是一个安装包,安装的过程也很简单,一直点击Next就可以了。其中选择安装 组件时建议全部勾上,如图1.2所示。
图 1.2 选择安装组件 接下来还会让你选择Android Studio的安装地址以及Android SDK的安装地址,这些根据你自己电 脑的实际情况选择就行了,不想改动的话就保持默认,如图1.3所示。
图 1.3 选择安装地址 后面就没什么需要注意的了,全部保持默认项,一直点击Next即可完成安装,如图1.4所示。
图 1.4 安装完成 现在点击Finish按钮来启动Android Studio,一开始会让你选择是否导入之前Android Studio版本 的配置,由于这是我们首次安装,这里选择不导入就可以了,如图1.5所示。
图 1.5 选择不导入配置 点击OK按钮会进入到Android Studio的配置界面,如图1.6所示。
图 1.6 Android Studio的配置界面 然后点击Next开始进行具体的配置,如图1.7所示。
图 1.7 选择安装类型 这里我们可以选择Android Studio的安装类型,有Standard和Custom两种。Standard表示一切都使 用默认的配置,比较方便;Custom则可以根据用户的特殊需求进行自定义。简单起见,这里我 们就选择Standard类型了,继续点击Next完成配置工作,如图1.8所示。
图 1.8 完成Android Studio配置 现在点击Finish按钮,配置工作就全部完成了。然后Android Studio会尝试联网下载一些更新,等 待更新完成后再点击Finish按钮就会进入Android Studio的欢迎界面,如图1.9所示。
注意:©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!下载后请24小时内删除!
倘若侵权联系我们删除,谢谢!
本站原创文章,作者:小 编,如若转载,请注明出处:https://www.mzbky.com/1335.html