Android应用开发从入门到精通(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-27 03:03:40

点击下载

作者:郑耿忠、庄桂东

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Android应用开发从入门到精通

Android应用开发从入门到精通试读:

前言

目前Android是一门新兴技术,无论是相关书籍还是教育体制都处于初级阶段,因此Android人才在短期之内将会呈现供不应求的状态。从长期来看,随着各种移动应用需求的增加,手机应用开发商对Android应用的开发力度也会不断加大,因此,随着安卓手机用户比例的增长,更加剧了市场对有关Android系统开发书籍的需求。

本书对Android的功能按照特性进行分类,根据由浅入深的原则,以教学单元搭配步骤讲解,每个章节都包含精心设计和讲解的应用程序开发案例,使书的内容在广度和深度上达到最佳的平衡。另外,本书着重实际操作,并辅以适当的理论讲解,让读者在理解Android手机技术的原理的同时掌握Android重要函数库的使用,然后再通过综合案例的方式将所学的开发技术融会贯通。

相对其他教材,本书具有如下特点:(1)遵循一个基础知识点对应一个实例的原则:将实例置于知识点之前,然后剖析实例,阐述知识点。(2)内容安排更加合理,用最基础的实例讲解知识点,让初学者更加容易接受,真正做到由浅入深。(3)通过对基本案例和综合案例循序渐进的介绍分析,由浅入深地完成掌握基本操作、基本理论到完成综合案例的全部过程。

本书可作为本科或高职高专软件工程、计算机科学与技术等专业的教材,也可供其他专业学生和从事Android开发与应用的有关技术人员参考。课程标准学时为72学时或54学时,在教学过程中可根据具体情况选学本书内容。

本书由郑耿忠主编和统稿,其中第1~6章由郑耿忠编写,第7~11章由庄桂东编写,书中案例由庄桂东录制。

本书在编写和出版过程中,得到清华大学出版社编辑的指导和支持,在此对他们的辛勤劳动和无私奉献表示真挚的谢意。同时,对本书参考文献中的有关作者致以诚挚的感谢。

Android开发内容丰富,应用广泛,技术处于不断发展进步中,限于编者自身的水平和学识,书中难免存在疏漏之处,诚望读者不吝赐教,以便修正。作 者2017年5月第1章 Android操作系统与开发环境

Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。Android系统已经成为全球应用并具有广泛影响力的手机操作系统,国内对Android开发人才的需求也在迅速增长,从趋势上来看,Android软件人才的需求会越来越大。

Android 2.2平台的模拟器更加稳定,故本书所带的Android案例也是在Android 2.2平台上调试运行的。本章将重点讲解如何搭建Android开发环境,创建和启动手机模拟器以及学习使用Android操作系统。1.1 Android简介

智能手机软件平台有Symbian、Windows Mobile、RIM BlackBerry、Android、iPhone、Palm、Brew、Java/J2ME。2012年11月的数据显示,Android占据全球智能手机操作系统市场76%的份额,在中国市场的占有率为90%。接下来将重点介绍什么是Android平台。1.1.1 什么是Android

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。它包括一个操作系统、中间件和一些重要的应用程序。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和Dalvik虚拟机,用C++语言开发。最上层是各种应用软件,包括通话程序、短信程序等,我们要做的,就是以Java作为编程语言编写各种各样的Android应用软件。本书中,学习Android其实就是学习怎么开发适用于在Android操作系统上运行的软件。

在国内,Android的前景十分广阔,国内很多的厂商和运营商也纷纷加入了Android阵营,同时Android应用的范围不仅仅在手机,国内一些厂家也陆续推出了采用Android系统的MID产品,比较著名的包括由Rockchip和蓝魔推出的同时具备高清播放和智能系统的音悦汇W7,可以预见,Android也将会被广泛应用在国产智能上网设备上,并将进一步扩大Android系统的应用范围。1.1.2 Android平台的架构详解

Android平台采用一种被称为软件叠层的方式进行构建,就像一个多层蛋糕,每一层都有自己的特性和用途。这种软件结构使得层与层之间相互分离,明确各层的分工。这种分工保证了层与层之间的低耦合,当下层的层内或层下发生改变时,上层应用程序无须任何改变,图1.1为Android系统架构。图1.1 Android系统架构

由图1.1可以很明显地看出,Android系统架构由5部分组成,分别是Applications(应用程序层)、Application Framework(应用程序框架)、Libraries(函数库)、Android Runtime (Android运行时)、Linux Kernel(Linux内核)。下面分别对这5部分进行简单介绍。

1.应用程序层

Android平台装配一个核心应用程序集合,这些程序包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发,本书介绍的内容则是如何编写Android系统上的应用程序。

2.应用程序框架

通过提供开放的开发平台,Android使开发者能够编写极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等。

Android应用程序框架提供了大量的API供开发者使用,关于这些API的具体功能和用法则是本书后面详细介绍的内容。

所有的应用程序其实是一组服务和系统,包括:●  视图(View)——丰富的、可扩展的视图集合,可用于构建一个应用程序,包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器。●  内容提供者(Content Providers)——使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据。●  资源管理器(Resource Manager)——提供访问非代码资源,如本地化字符串、图形和布局文件。●  通知管理器(Notification Manager)——使所有的应用程序能够在状态栏显示自定义警告。●  活动管理器(Activity Manager)——管理应用程序生命周期,提供通用的导航回退功能。

3.函数库

Android包含一套C/C++库的集合,供Android系统的各个组件使用。一般来说,Android应用开发者不直接调用这套C/C++库集,而是通过它上面的应用程序框架来调用这些库。下面为一些核心库:●  系统C库——标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备。●  媒体库——基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG。●  界面管理——管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层。●  LibWebCore——新式的Web浏览器引擎,驱动Android浏览器和内嵌的Web视图。●  SGL——基本的2D图形引擎。●  3D库——基于OpenGL ES 1.0 API的实现。库使用硬件3D加速或包含高度优化的3D软件光栅。●  FreeType——位图和矢量字体渲染。●  SQLite——所有应用程序都可以使用的强大而轻量级的关系数据库引擎。

4.Android运行时

Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在它们自己的进程中。Dalvik虚拟机设计成在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行的文件格式是.dex,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。

大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx是一套工具,可以将Java.class转换成.dex格式。一个.dex文件通常会包括多个.class文件。由于.dex有时必须进行最佳化,会使文件大小增加1~4倍,并以.odex结尾。

Dalvik虚拟机依赖于Linux内核提供基本功能,如线程和底层内存管理。

5.Linux内核

Android系统建立在Linux 2.6之上,提供核心系统服务,例如,安全、内存管理、进程管理、网络堆栈、驱动模型。除此之外,Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。

如果只是做应用开发,就不需要深入了解Linux Kernel层。1.2 搭建Android开发环境

在搭建Android开发环境之前,还需要JDK(仅有JRE不够)、Eclipse IDE,而像JDK安装、环境变量设置之类的知识不在本书中进行讲解,若读者尚不明白这些操作,建议先掌握这些知识后再开始搭建Android开发环境。1.2.1 如何下载和安装ADT插件

在企业开发中,很多程序员使用Eclipse IDE作为应用的开发环境,Android推荐使用Eclipse来开发Android应用。为了使得Android应用的创建、运行和调试更加方便快捷,Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools (ADT)。

ADT插件的安装有在线安装和离线安装两种方式。下面介绍离线安装ADT插件的步骤,图1.2为ADT插件下载链接。

① 登录http://developer.android.com/sdk/installing/installing-adt.html#tmgr站点,下载ADT插件的最新版本。

② 将页面往下拉,可以看到如图1.2所示的表格,单击ADT-22.3.0.zip链接直接下载ADT插件到本地。图1.2 ADT插件下载链接

③ 启动Eclipse,在Eclipse主菜单中选择Help→Install New Software命令,在出现的如图1.3所示的对话框中,单击Add按钮。

④ 在弹出的如图1.4所示的对话框的Name文本框中输入ADT,然后单击Archive按钮,浏览和选择已经下载的ADT插件的压缩文件。

⑤ 单击OK按钮,返回如图1.5所示的可用软件的视图,选中Developer Tools复选框(即ADT插件),然后单击Next按钮,Eclipse弹出一个对话框,该对话框会提示用户所有将要安装的插件详细清单,单击该对话框的Next按钮。图1.3 选择插件安装图1.4 浏览ADT插件

⑥ 在Eclipse弹出的如图1.6所示的窗口中选择接受协议条款,单击Finish按钮,Eclipse开始安装ADT插件。

ADT插件的在线安装步骤跟离线安装的步骤基本一致,区别是在第4步时,在弹出的对话框中不再选择已经下载好的ADT插件,而是在Location文本框中直接输入“https://dl-ssl.google.com/android/eclipse/”,如图1.7所示,然后单击OK按钮,之后的步骤与离线安装完全一致。1.2.2 如何下载和安装Android SDK

Android SDK包含了开发Android应用所依赖的jar文件、运行环境及相关工具,安装Android SDK请按下面步骤进行:图1.5 选中ADT插件图1.6 同意条款图1.7 离线安装ADT

① Android SDK的下载地址是http://developer.android.com/sdk/index.html。输入该地址,将页面往下拉,单击DOWNLOAD FOR OTHER PLATFORMS链接,继续往下拖动页面,可看到SDK的下载链接,选择所需要的版本进行下载,一般下载解压版,如图1.8所示。图1.8 下载SDK

② 将下载完成后得到的android-sdk_r22.3-windows.zip文件解压缩到任意路径下,例如“D:\”根目录。解压缩后得到一个名为android-sdk-windows的文件夹,该文件夹包含以下文件结构。 add-ons:该目录下存放额外的附加软件,刚解压缩时该目录为空。 platforms:该目录F存放不同版本的Android版本,刚解压缩时该目录为空。 tools:该目录下存放了许多Android开发、调试的工具。 AVD Manager.exe:AVD(Android虚拟设备)管理器,通过该工具可以管理AVD。 SDK Manager.exe:Android SDK管理器,通过该工具可以管理Android SDK。

③ 单击SDK Manager.exe,弹出如图1.9所示窗口,在窗口中选中需要安装的工具,其中Android平台工具是必选项,读者喜爱下载哪个版本的SDK,则选中其版本的SDK,可一次性选择所有版本,也可在以后需要的时候再对特定版本进行下载。选中后单击Install 9 packages按钮进行安装。

④ 在弹出的如图1.10所示的对话框中,列出了将要安装的Android工具包,选择接受所有许可内容,然后单击Install按钮,Android SDK管理器就开始下载并安装读者所选的工具包了,如图1.11所示。等待一段时间即可完成,但该段时间的长短取决于读者的网络状态及所选中的工具包数量,有时候甚至会花费一两个小时。图1.9 安装所需工具图1.10 将要安装的工具包

⑤ 安装完成后,回到Android SDK文件夹界面,可以看到该目录下增加了如下几个文件夹。 docs:该文件夹下存放了Android SDK开发文件和API文档等。 platform-tools:该文件夹下存放了Android平台相关工具。图1.11 在线安装Android工具包 samples:该文件夹下存放了不同Android平台的示例程序。

⑥ 启动Eclipse,为Eclipse设置Android SDK的路径,选择Eclipse主菜单Window→Preferences菜单项,在打开的如图1.12所示的视图的左侧单击Android选项,在右侧的SDK Location文本框中输入Android SDK所在位置,单击OK按钮,完成Android SDK的路径设置。

经过上面所介绍的过程,接下来就可以在Eclipse中开发Android应用了。1.3 使用Android模拟器

前面主要介绍了如何搭建Android开发环境,但我们开发后的程序将运行于Android操作系统,不再像以前开发Windows软件一样运行于Windows平台。当然,我们不能要求每个开发者都去买一台搭建了Android平台的手机然后才开始学习,此时可以借助Android提供的“虚拟设备”工具来模拟Android手机。除此之外,Android SDK还提供了大量工具来帮助我们进行开发、调试。1.3.1 创建、删除和浏览AVD

AVD,即Android Virtual Device(Android虚拟设备),当开发者没有Android手机时,则可以将编写好的Android应用安装在Android SDK提供的AVD上运行。下面分别介绍两种管理AVD的方式。

1.在图形界面下管理AVD

在图形界面下管理AVD比较简单,可以借助AVD管理器来完成,完全在图形用户界面下操作,比较适合新上手的读者。图1.12 设置SDK路径

① 双击Android SDK安装目录下的AVD Manager.exe文件或者单击如图1.13所示的Eclipse工具栏上的Android Virtual Device Manager按钮,启动AVD管理器。图1.13 Eclipser工具栏上的AVD Manager按钮

② 在弹出的如图1.14所示的窗口中,列出了可用的Android模拟器,单击窗口右边的New按钮,以此新建AVD。图1.14 查看所有可用的AVD设备

③ 在弹出的如图1.15所示的对话框中,填写AVD设备的名称、选择AVD设备的分辨率以及运行的Android版本、填写虚拟SD卡的大小,然后单击该对话框下面的OK按钮,管理器则开始创建AVD设备,开发者只需稍作等待即可。图1.15 创建AVD设备

创建完成后,管理器返回如图1.16所示的窗口,该管理器将会列出当前所有可用的AVD设备,读者可以看到我们刚刚创建的AVD设备。如果开发者想删除某个AVD设备,只要在如图1.16所示的窗口中选择指定AVD设备,然后单击右边的Delete按钮即可。如果开发者想要浏览某个AVD设备,只要在如图1.16所示的窗口中选择指定AVD设备,然后单击右边的Details按钮,即会弹出一个AVD详情窗口,供开发者查看。

AVD设备创建成功后,开发者即可运行该AVD了。借助如图1.16所示的AVD管理器来运行AVD设备非常简单:首先,在如图1.16所示的窗口左边选中所要启动的AVD设备;其次,在该窗口右边单击Start按钮,弹出如图1.17所示的窗口;最后,在图1.17所示窗口中,单击Launch按钮,模拟器即开始启动,启动过程如图1.18所示,启动完毕后的模拟器如图1.19所示。图1.16 查看刚创建的AVD设备图1.17 即将启动图1.18 模拟器启动过程

2.在命令行管理AVD

在命令行中管理AVD,首先要配置好Android环境变量,具体方法和配置Java环境变量一样。以Windows XP平台为例:右击“我的电脑”,在弹出的快捷菜单中选择“属性”命令,在“高级”选项卡中选择“环境变量”,然后新建一个ANDROID_HOME,将本机中的SDK全路径粘贴进去,然后在Path下面加入“.;%ANDROID_HOME%/platform-tools; %ANDROID_HOME%/tools”即可。这里要注意标点符号要用英文,同时不要忘了最前面的“.”。在配置好环境变量后,就可以通过命令行管理AVD了。首先,如果直接在命令行执行android命令将会启动Android SDK管理器。其他命令如下:图1.19 模拟器启动完毕 android list——列出计算机上所有已经安装的Android版本和AVD设备。 android list avd——列出计算机上所有已经安装的AVD设备。 android list target——列出计算机上所有已经安装的Android版本。 android create avd——创建一个AVD设备。 android move avd——移动或重命名一个AVD设备。 android delete avd——删除一个AVD设备。 android update avd——升级一个AVD设备使之符合新的SDK环境。 android create project——创建一个新的Android项目。 android update project——更新一个已有的Android项目。 android create test-project——创建一个新的Android测试项目。 android update test-project——更新一个已有的Android测试项目。

要创建一个AVD,使用android create avd命令,给出几个参数:要创建的AVD的名称以及要创建的AVD搭载的Android版本。当然还

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载