Android 7编程入门经典:使用Android Studio 2(第4版)
上QQ阅读APP看书,第一时间看更新

1.1 Android的定义

Android是基于Linux改编的一个移动操作系统。刚开始是由一家名为Android的公司开发的。2005年,作为进入移动行业的战略之一,Google收购了Android公司并且接手了所有开发工作(包括整个开发团队)。

Google希望AndroidOS是开放并且免费的,所以大部分Android源代码是使用开源Apache许可证发布的。这就意味着任何想使用Android的人都可以下载完整的Android源代码。与此同时,供应商(尤其是硬件生产商)可以在Android中加入自己的专有扩展,定制化Android,使之与其他产品有所区别。这种开发模式使得Android对于供应商具有极大的吸引力,尤其是那些受到苹果iPhone影响的公司,苹果iPhone手机取得了巨大成功,并且改变了整个智能手机行业。当苹果手机发布时,许多智能手机生产商不得不争先恐后地寻找新方法来重振他们的产品。这些生产商认为Android是一个解决方案。他们可以继续设计自己的硬件并且使用Android操作系统。有一些公司,包括摩托罗拉和索尼爱立信,利用Android开源政策优势来开发自己的移动操作系统。

采用Android的最大优势是它为应用开发提供了一套统一的途径。开发者只需要为通用的Android系统开发应用,他们的应用就可以在众多不同的设备上运行,只要这些设备使用的是Android操作系统。在智能手机世界,应用是成功链条中最重要的一环。

1.1.1 Android版本

自从Android第一版发布,它已经经历了好几轮的更新。表1-1列出了各种Android版本和代号。

表1-1 Android版本简史

2016年,Google发布了Android 7.0;以下是Android 7.0的主要更新:

● 分屏多窗口模式

● 重新设计了通知栏

● 优化了Doze功能

● 不再使用JRE(Java Runtime Environment, Java运行环境),改用OpenJDK(Java平台的开源化实现)

当你了解Android版本信息时,需要特别注意Android的每一个版本都有自己的功能和API。因此,如果为最新版本的Android编写应用,该应用使用了旧版Android中没有的API,那么只有运行新版本的Android设备才能使用该应用。

1.1.2 Android功能

因为Android是开源的并且生产商可以自由地定制,所以不存在固定的硬件或软件配置。然而,标准Android操作系统提供了许多功能,包括:

存储——SQLite,一个轻量级关系数据库,用来执行数据存储。第7章会详细讨论数据存储。

连接—— GSM/EDGE、IDEN、CDMA、EV-DO、UMTS、Bluetooth(蓝牙,包括A2DP和AVRCP)、Wi-Fi、LTE以及WiMAX。第11章会详细讨论网络连接。

消息传送——SMS和MMS。第9章会详细讨论消息传送。

多媒体——支持H.263、H.264(使用3GP或MP4容器)、MPEG-4 SP、AMR、AMR-WB(使用3GP容器)、AAC、HE-AAC (使用MP4或3GP容器)、MP3、MIDI、Ogg Vorbis、WAV、JPEG、PNG、GIF以及BMP。

硬件支持—— 加速度传感器、摄像头、数字指南针、距离传感器和GPS。

多点触控—— 多点触屏。

多任务——多任务应用。

热点——通过有线或者无线热点共享互联网连接。

Android的网页浏览器基于开发开源项目WebKit和Chrome的V8 JavaScript引擎。

1.1.3 Android构架

要了解Android是如何工作的,请参考图1-1。图中展示了组成Android操作系统(OS)的各个层。

Android操作系统被大致分为主要四层,共五大部分:

Linux内核(Linux Kernel)——这个是Android的内核。这一层包含了Android设备所有硬件组件的底层设备驱动。

代码库(Library)——这里包含了Android操作系统主要功能的代码。例如,SQLite库提供了数据库支持,应用可以使用它存储数据。WebKit库提供了网页浏览的功能。

Android运行库(AndroidRuntime)——Android运行库和代码库属于同一层。为开发者提供核心库,使开发者可使用Java编程语言编写Android应用。Android运行库同时包含Dalvik虚拟机,它使每一个Android应用运行在自己的进程上,并使用自己的Dalvik虚拟机实例(Android应用被编译成Dalvik可执行文件)。Dalvik是特别为Android设计的虚拟机,为有限的内存和CPU性能的电池供电移动设备做了特殊优化。

图1-1

应用框架(Application Framework)——应用构架层为应用开发者开放了各种Android操作系统的功能,使开发者可以在自己的应用中使用。

应用层(Application)——最高层包含了Android设备上的原生应用(例如电话、通讯录、浏览器等),以及用户从Android Market下载和安装的应用。所有你开发的应用也位于这一层。

1.1.4 市场中的Android设备

在市场上能找到各种形状和尺寸的Android设备,包括但不局限于下面几种类型:

● 智能手机

● 平板电脑

● 电子阅读器

● 网路电视

● 自动驾驶汽车

● 智能手表

很可能你至少拥有一个以上的上述设备。图1-2所示为Samsung(三星)Glaxy Edge 7。

另外一种比较流行的设备是平板电脑。平板电脑主要有7英寸和10英寸两种尺寸(对角线测量)。

除了智能手机和平板电脑以外,Android也用在专用设备上,比如电子阅读器。图1-4所示为使用Android操作系统的由Barnes and Noble's出品的NOOK Color电子阅读器。

除了我前面提到的流行的移动设备,Android也出现在了我们的手腕上。智能手表以及可穿戴设备已经成为一个主要的Android分支。图1-3所示是摩托罗拉的Moto360智能手表,运行的是AndroidWear(专门为可穿戴设备设计的一个Android操作系统)。

图1-2

图1-3

当笔者正在写作本书时,三星Galaxy Nexus(见图1-4)是唯一运行纯净版本的Android的设备。许多生产商在Android操作系统上添加了自己的修改,以便用在他们特定的设备上。摩托罗拉的设备运行Motoblur, HTC的设备运行HTC Sense等。然而,Nexus设备只会运行没有修改过的纯净版本的Android。

图1-4

1.1.5 Android Market

如前所述,应用是决定一个智能手机平台是否成功的关键要素之一。iPhone的成功就再一次印证了应用在决定一个新平台是否成功中扮演着多么重要的角色。与此同时,如何让普通用户更加方便快捷地下载和安装应用就变得极其重要。

用户可以非常方便地使用预先安装在Android设备中的Google Play来获取第三方提供的应用。在Google Play商店中,用户可以下载各种付费和免费的应用。由于一些法律问题,付费应用只在某些国家开放下载和安装。

注意:第13章将详细介绍Google Play商店以及如何在Google Play商店中销售自己开发的应用。