Android程序设计实用教程:AndroidStudio版
上QQ阅读APP看书,第一时间看更新

1.1 Android系统概述

Android是专门为移动设备开发的平台,其中包含操作系统、中间件和核心应用等。Android最早由Andy Rubin创办,于2005年被Google收购。2007年11月5日,Google正式发布Android平台,三星、HTC、摩托罗拉、Sony Ericsson等公司都推出了各自系列的Android手机,Android市场上百花齐放。近几年,国内的手机厂商也是各显神通,华为、小米、魅族等品牌都推出了相当不错的Android手机,并且得到了国内外用户的广泛认可。

1.1.1 Android平台架构

为了更好地理解Android的工作方式,可以参看图1-1,从中可以看出Android平台主要包括Linux Kernel、Libraries、Application Framework和Applications四个部分。

1.Linux Kernel(Linux内核层)

Linux Kernel是Android所基于的核心。这一层包括了一个Android设备的各种硬件组件的所有底层设备驱动程序。

图1-1 Android平台架构

2.Libraries(系统运行库层)

Libraries包含程序库和Android运行时。程序库中包含了一些C/C++库,通过应用框架为开发者提供服务,如Webkit库为浏览Web提供了众多功能,SQLite库提供了支持应用程序进行数据存储的数据库。

Android运行时包括核心库和Dalvik虚拟机两部分。核心库中提供了Java语言核心库中包含的大部分功能,使得开发人员可以使用Java编程语言来编写Android应用程序。Android运行时还包括Dalvik虚拟机。每一个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik虚拟机专门针对移动设备进行编写,不仅效率更高,而且占用内存更少。

3.Application Framework(应用框架层)

Application Framework主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的。开发者也可以通过使用这些API来构建自己的应用程序。

4.Applications(应用程序层)

Applications是面向用户的应用程序,比如系统自带的拨打电话、联系人、浏览器等程序,或者是从Google Play上下载的第三方应用程序,当然还包括开发者自己开发的应用。

1.1.2 Android版本

Android自发布以来历经了相当多数量的更新版本。从1.5版本开始,Android用甜点作为它们系统版本的代号。并且,作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母排序:从Cupcake(纸杯蛋糕)、Donut(甜甜圈)、Éclair(松饼)、Froyo(冻酸奶),到近几年发布的Lollipop(棒棒糖)、Marshmallow(棉花糖)和Nougat(牛轧糖)。表1-1列出了Android不同版本及其相应的代号。

表1.1 Android不同版本及其对应的代号

Android 5.0是Google于2014年10月15日(美国太平洋时间)发布的全新Android操作系统。北京时间2014年6月26日0时,GoogleI/O2014开发者大会在旧金山正式召开,发布了Android 5.0的开发者预览。本次Android 5.0系统代号为Lollipop(棒棒糖),所以大家也很亲切地称呼它为Android L系统。Android 5.0提供的新特性包括:

● 全新Material Design设计风格。

● 支持多种设备。

● 全新的通知中心设计。

● 支持64位ART虚拟机。

● Project Volta电池续航改进计划。

● 全新的“最近应用程序”。

● 改进安全性等。

Android的6.0版本,即当时盛传已久的Android M,在Google2015年的I/O大会上被正式发布。一个在业内已经被热议的议题是:Android M“为工作升级而生”(Android for Work Update)。有业内人士解释道:“Android M将把Android的强大功能拓展至任何你所能看到的工作领域。”

根据Android系统以往的惯例,每一代新系统往往会根据其字母代号,对应一个关于甜点的全名。按照这种命名的传统,Android[字母]这种新模式也将意味着,一款新口味Android“甜点”即将出现。

GoogleI/O2015大会于2015年5月28日举行。在发布会上代号为Marshmallow(棉花糖)的Android 6.0系统正式推出。在原有Android 5.x新特性的基础之上,Android 6.0进一步提供了以下更实用的功能:

● 大量漂亮流畅的动画。

● 相机新增专业模式。

● 支持文件夹拖动应用。

● 原生的应用权限管理。

● Now on Tap功能。

● 支持RAW格式照片。

Android7.0即Nougat(牛轧糖)已于2016年8月22日正式推送。但目前的市场占有率不高,根据Google官方的最新统计数据显示,目前安装率最高的版本是“棒棒糖”,其次是“棉花糖”。

1.1.3 Android功能

鉴于Android的开源以及制造商可对其自由定制的特点,因此没有固定的软硬件配置。然而,Android操作系统本身支持如下功能。

1.数据存储

Android内置SQLite轻量级关系型数据库管理系统来负责存储数据。

2.网络

Android操作系统支持所有的网络制式,包括GSM/EDGE、IDEN、CDMA、TD-SCDMA、EV-DO、UMTS、Bluetooth、Wi-Fi、LTE、NFC和WiMAX。

3.消息传递

Android支持SMS和MMS。

4.浏览器

Android基于开源的WebKit核心,并集成Chrome的V8 JavaScript引擎。在Android 4.0内置的浏览器测试中,HTML5和Acid3故障处理中均获得了满分。

5.媒体支持

Android支持以下媒体:WebM,H.263、H.264(in3GPor MP4container),MPEG-4SP,AMR、AMR-WB(in 3GP container),AAC、HE-AAC(in MP4 or 3GP container),MP3,MIDI,FLAC,WAV,JPEG,PNG,GIF,BMP。如果用户需要播放更多格式的媒体,可以安装其他第三方应用程序。

6.硬件支持

Android支持加速度传感器、陀螺仪、气压计、摄像头、GPS、键盘、鼠标和无线设备。

7.多点触控

Android支持多点触摸控制屏幕。

8.多任务处理

Android支持多任务应用。

9.流媒体支持

Android支持RTP/RTSP的流媒体以及(HTML5<video>)的流媒体,同时还支持Adobe的Flash,在安装了RealPlayer之后,还支持苹果公司的流媒体。

10.无线共享功能

Android支持用户使用本机充当“无线路由器”,并且将本机的网络共享给其他智能手机,其他设备只需要通过Wi-Fi查找到共享的无线热点,就可以上网。

1.1.4 Android五大优势特色

1.开放性

在优势方面,Android平台首先就是其开放性,开放的平台允许任何移动终端厂商加入Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商;而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。

2.挣脱运营商的束缚

在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从Android上市以来,用户可以更加方便地连接网络,运营商的制约减少。随着3G至4G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。

3.丰富的硬件选择

这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千姿百态、各具功能特色的多种产品。功能上的差异和特色,却不会影响到数据同步甚至软件的兼容。

4.不受任何限制的开发商

Android平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的限制。可想而知,会有多少新颖别致的软件诞生。但“不受限制”也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android的难题之一。

5.无缝结合的Google应用

如今叱咤互联网的Google已经走过十多年的历史。从搜索巨人到全面的互联网渗透,Google服务(如地图、邮件、搜索引擎等)已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。