从零开始学Android编程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1篇 基础篇

第1章 初识Android系统

最近几年,Android手机操作系统成为一个比较热门的话题,很多手机生产商家纷纷倒向Android系统,如三星、摩托罗拉等。大家都知道,Android系统是由Google推出的基于Linux平台的开源手机操作系统。特别是2011年,Android系统的手机占据了全球大部分市场。本章将简单了解Android手机操作系统的发展。

随着智能手机及互联网的发展,Android应用必然会越来越多,这个市场有着巨大的潜力。同时也吸引着无数的软件开发公司和软件开发人员投身其中。作为开发人员的我们,赶快融入Android开发中来吧。

1.1 Android系统简介及其发展

在学习开发Android程序之前,首先对Android系统做一个简单的介绍,对它的发展历程有一定的了解。

1.1.1 Android系统的简介

Android的意思是“机器人”,是Google于2007年11月5日基于Linux开发的一个开源手机操作系统。Android操作系统由底层的Linux操作系统、中间件及核心的应用程序组成。应用程序是用Java语言开发的。

从2007年11月5日Google发布Android 1.0操作系统到现在的Android 4.0,已经更新了不少版本。在同一天,Google又宣布组建一个全球性的开发联盟,这一联盟将支持Google发布新的系统及应用程序。这个联盟包括手机生产商、网络运营商及手机芯片生产商。包括Google、HTC、T-Mobile、摩托罗拉、三星、LG、魅族,以及中国移动、中国联通在内的三十多家企业。

这些企业将基于该平台开发一些手机的新型业务和应用程序。由于Android源码是开放的,再加上这个联盟的参与,使得Android平台可以促使移动设备创新,让用户得到好的体验和优质的移动服务。通过开发商得到一个新的开放性系统,可以定制属于自己的界面等,更方便进行协作,这就保证了新的移动设备的开发。所以说Android是一个开放的、免费的、完整的手机平台。下面我们来看一下Android系统的手机Android G1,如图1.1所示。

图1.1 Android G1

1.1.2 Android的发展

Android手机操作系统推出之后,版本更新非常快,几乎每隔半年就推出一个新的版本。从最开始的1.0、1.1、1.5,到现在比较火的2.2、2.3,以及现在最新的版本4.0,每个新的版本,都对以前的版本功能加以完善,界面的美化等都有了很大的提高。下面我们来看看从2.1到4.0新增的功能,如表1.1所示。

表1.1 Android版本更新一览

1.1.3 Android的平台特性

在前面两小节中,对Android的发展历史有了一个大概的了解,在这一小节中,我们来了解一下Android手机平台的一些特性。Android平台有以下特性:

❑ 应用程序框架支持组件的重用与替换。在Android系统推出之前,其他的系统是很难做到这一点的,在Android系统中,我们把系统中不喜欢的程序都替换掉,安装自己满意的程序,如系统的打电话功能、文件管理功能等。

❑ Dalvik虚拟机,这个专门用来优化移动设备。Android所有的应用程序都是用强大的Java语言编写的,Java语言编译过的类文件会通过DX工具转换成以dex为扩展名的文件,该文件就可以在虚拟机中运行;另外,Dalvik采用的是寄存器的模式,大大加快了程序的运行速度。

❑ 优化了图形图像库,Android的图形库中包含了2D、3D图形库。3D是基于OpenGL ES的,这有利于游戏的开发。所以,现在3D的游戏也开始在Android系统上流行起来,或者说这是将来3G时代的一个趋势。

❑ 内部的浏览器是基于WebKit引擎开发的,这就意味着手机相当于电脑了,基本上结束了Wap时代,可以像电脑一样任意在互联网中遨游。

❑ 在数据存储方面,Android平台中提供了很多方式,如文件存储、网络存储等,最主要的是集成了SQLite数据库,它是一种结构化的存储方式,给数据存储带来了方便。

❑ 多媒体支持,Android平台支持常见的音频、视频和静态图像格式(如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF等)。

❑ GMS电话技术,这还要依赖硬件技术。

❑ WiFi、蓝牙(Bluetooth)、3G、EDGE(GSM到3G的过渡技术),这些需要硬件的支持。

❑ 照相机(Camera)、GPS导航、指南针和加速计(Accelerometer),这些也需要硬件的支持。

开发环境非常丰富,主要包括了系统提供的模拟器、调试工具,内存及性能分析图表和Eclipse集成开发环境插件。Google公司为Android开发提供了开发包SDK,在SDK中包含了大量的类库和一些实例,并且专门为Android开发提供了Eclipse可视化插件ADT。在下一章将介绍Android开发环境的搭建,其中会提到ADT及SDK。

1.2 如何学习Android

现在Android开发非常热门,我们如何才能学好Android呢?对于学习Java的开发人员来说,对Android的入门并不是难事,在前面已经讲过了Android的应用程序是用Java语言开发的。只要看看Android官方自带的例子,找几本Android的书籍或者视频,熟悉Android的一些组及控件,了解它们的一些属性和常用的方法,自己针对每一个知识点练练手,对于一些简单的程序基本上是可以做出来的。

对于没有Java基础的开发人员学起来就会稍微有点吃力。首先要了解Java开发的基本格式及一些类等的定义,对整个Java环境要有一个了解。其次是了解Android系统,熟悉模拟器等,了解Android是什么。再浏览Android官方的文档,了解Android application。接着可以看Android官方自带的一些简单实例,这些例子中基本包含了Android所用到的控件,也可以根据官方提供的例子自己模仿着写自己的第一个程序HelloAndroid,有不明白的地方可以看看官方提供的Android API,这样就可以慢慢了解每一个控件和组件的一些常用方法和属性,对以后的学习会起到很大的作用。基础的内容学习完,就可以开始下一步动作了,可以去看一些比较复杂的程序,或者可以根据自己的想法去写一个程序。根据自己知识的加深,可以深入Android底层的学习与开发。

对于Android开发和其他开发一样,养成一个好的写代码的习惯,对于我们的学习是很有帮助的,希望大家在学习Android的时候找到一个属于自己的学习方法。

1.3 小结

本章主要介绍了关于Android的一些基本知识,如Android系统的简介、Android的产生及一些版本的区别、Android平台的特性。下一章我们将学习Android开发环境的搭建,动手写自己的第一个Android程序。