1、 高等职业教育财经类规划教材电子商务专业 Android 开发与实战 赵书兰 编著 Publishing House of Electronics Industry 北京BEIJING 内 容 简 介 计算机便携化是未来的发展趋势,而 Android 作为最受欢迎的手机和平板电脑的操作系统之一,从其诞生到现在的短短几年里,凭借其开源开放性、优异的用户体验和极为方便的开发方式,赢得了广大用户和开发者的青睐。本书循序渐进地介绍 Android 应用开发的相关知识,内容覆盖了 Android 用户界面编程。首先介绍 Android界面布局、控件、菜单、对话框等内容;然后进一步介绍 Android 视
2、图与动画、Android 数据存储、Android 传递消息与联网、Android 多媒体等内容;最后综合介绍 Android 辅助工具。本书可作为程序开发人员进行 Android 开发的参考书,也可供高校师生学习参考。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 Android 开发与实战/赵书兰编著.北京:电子工业出版社,2013.6 ISBN 978-7-121-20612-2 .A .赵 .移动终端-应用程序-程序设计 .TN929.53 中国版本图书馆 CIP 数据核字(2013)第 120156 号 策划编辑:陈韦凯 责任编
3、辑:毕军志 印 刷:涿州市京南印刷厂 装 订:涿州市京南印刷厂 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871 092 1/16 印张:34.75 字数:934.6 千字 印 次:2013 年 6 月第 1 次印刷 印 数:4 000 册 定价:69.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。前 言 计算机便携化是未来的发展趋势。在人们的习惯里,很容易把计算机理
4、解为主机、显示器、键盘的“组合”,即使后来出现了笔记本电脑,其实依然摆脱不了主机、显示器与键盘的组合。对于这种传统的计算机,用户必须“安静”地坐下来,打开它,然后才能使用计算机。但用户并不能完全满足通过这种方式使用计算机,有时用户需要在车上查看、管理公司的运营状况,有时用户需要在等飞机时查看、管理自己的证券交易情况,有时用户需要随时玩玩游戏松弛一下神经在这些需求场景下,用户需要更加便携化的计算机,这也是平板电脑大行其道的重要原因。3G 通信是移动通信市场经历了第一代模拟技术的移动通信业务,在第二代数字移动通信市场的蓬勃发展中被引入的。在当今 Internet 数据业务的不断升温中,在固定接入速
5、率(HDSL、ADSL、VDSL)不断提升的背景下,3G 移动通信系统也看到了市场的曙光,益发为电信运营商、通信设备制造商和普通用户所关注。而 3G 时代的到来,使得更多内容丰富的应用程序被布置在手机上成为可能,如视频通话、视频点播、移动互联网冲浪、在线看书/听歌、内容分享等。为了实现这些需求,需要有一个好的移动开发平台来支持。2007 年 11 月推出的 Android 平台,是任何公司及个人都可免费获取到源代码及 SDK 的手机开发平台。由于其开放性和优异性能,Android 平台得到了包括各大手机厂商和著名的移动运营商在内的业界的广泛支持。随着 Android 平台在市场占有率上的稳步上
6、升,采用 Java 语言开发的 Android 应用会越来越多。不过需要指出的是,运行 Android 平台的硬件只是手机、平板电脑等便携式设备,这些设备的计算能力、数据存储能力都是有限的,不太可能在 Android 平台上部署大型企业级应用,因此 Android 应用可能以纯粹客户端应用的角色出现,然后通过网络与传统大型应用交互,充当大型企业应用的客户端。目前最新的 Android 版本为 4.1,其具有一些新特点:更快、更流畅、更灵敏;特效动画的帧速率提高至 60fps,增加了三倍缓冲;增强了通知栏;全新搜索将会带来全新的 UI、智能语音搜索和 Google Now 三项新功能;桌面插件自
7、动调整大小;加强无障碍操作;语言和输入法扩展;新的输入类型和功能;新的连接类型。鉴于 Android 作为新的平台、新技术,为了帮助众多开发人员和爱好者进入 Android 开发领域并提高程序开发水平,特编写了本书。本书共分 10 章。第 1 章:给出了 Android 概述,主要包括智能手机操作系统现状、Android 发展史、特性、搭建 Android 开发环境及 Android 应用工程文件组成等内容。第 2 章:介绍了 Android 界面布局,主要包括线性布局、相对布局、表格布局、绝对布局等内容。第 3 章:介绍了 Widget 组件布局,主要包括 Button 控件、TextVie
8、w 控件、EditText 控件、RadioButton 控件等内容。第 4 章:介绍了 Android 菜单,主要包括 Menu 菜单、MenuItem 菜单、SubMenu 菜单及ContextMenu 菜单等内容。第 5 章:介绍了 Android 对话框,主要包括 AlertDialog 对话框、DatePickerDialog 与TimePickerDialog 对话框、ProgressDailog 对话框及 Notification 通知等内容。第 6 章:介绍了 Android 视图与动画,主要包括 Android 图像、Android 绘图、Android 图形特效处理与 An
9、droid 动画等内容。第 7 章:介绍了Android 数据存储,主要包括SharedPreferences 存储、文件存储数据、SQLite数据库存储、ContentProvider 存储等内容。第 8 章:介绍了 Android 传递消息与联网,主要包括电话管理器、信息处理、联网等内容。第 9 章:介绍了 Android 多媒体,主要包括音频/视频的播放、录制音频及照相机等内容。第 10 章:介绍了 Android 辅助工具,主要包括 Map 地图、蓝牙等内容。本书主要由赵书兰编写,此外参加编写的还有周品、赵书梅、赵新芬、栾颖、刘志为、丁伟雄、雷晓平、李娅、杨文茵、何正风、周灵、余智豪、
10、崔如春和张德丰。由于作者的水平有限,加之时间较紧,书中难免会存在不足之处,敬请广大读者批评指正。编著者 2013 年 3 月 目 录第 1 章 Android 概述(1)1.1 智能手机操作系统现状(1)1.1.1 智能手机的定义(1)1.1.2 智能手机的特点(2)1.1.3 3G 智能手机的基本要求(2)1.1.4 智能手机的操作系统(3)1.2 Android 简介(5)1.2.1 Android 发展史(5)1.2.2 Android 特性(8)1.2.3 Android 系统架构(10)1.2.4 Android 组件(12)1.3 搭建 Android 开发环境(14)1.3.1
11、Android 开发前的准备 工作(14)1.3.2 安装 JDK(15)1.3.3 安装 Eclipse(17)1.3.4 安装 Android SDK(18)1.3.5 安装 ADT 插件(20)1.3.6 设定Android SDK主目录(23)1.3.7 创建 Android 虚拟 设备(24)1.3.8 运行 AVD(26)1.4 Android 应用工程文件组成(27)1.5 应用程序的生命周期(30)1.5.1 进行优先级(31)1.5.2 Activity 的生命周期(32)1.5.3 Activity 生命周期调用 顺序(35)1.5.4 Service 的生命周期(36)1
12、.5.5 Android 生命周期综合 实例(37)1.6 Android 的活动(39)1.6.1 应用活动的样本与主题(41)1.6.2 显示对话框(42)1.6.3 显示进度条对话框(45)第 2 章 Android 界面布局(49)2.1 控件类概述(49)2.1.1 View 简介(49)2.1.2 ViewGroup 简介(50)2.2 线性布局(50)2.2.1 LinearLayout 简介(50)2.2.2 线性布局实例介绍(51)2.3 表格布局(52)2.3.1 TableLayout 简介 (52)2.3.2 表格布局实例介绍(53)2.4 相对布局(56)2.4.1
13、RelativeLayout 简介(57)2.4.2 相对布局实例介绍(58)2.5 绝对布局(59)2.5.1 AbsoluteLayout 简介(59)2.5.2 绝对布局实例介绍(60)2.6 帧布局(61)2.6.1 FrameLayout 简介(61)2.6.2 帧布局实例介绍(62)2.7 列表布局(63)2.7.1 ViewGroup 简介(63)2.7.2 列表布局实例介绍(63)第 3 章 Widget 组件布局(66)3.1 Button 控件 (67)3.1.1 setOnClickListener 方法(67)3.1.2 setOnLongClickListener 方
14、法(68)3.1.3 setOnFocusChangeListener 方法(69)3.1.4 setOnTouchListener 方法(70)3.1.5 setPressed 方法(71)3.1.6 setClickable 方法(72)3.1.7 setLongClickable 方法(73)3.1.8 Button 控件综合实例(74)3.2 TextView 控件 (75)3.2.1 append 方法(75)3.2.2 addTextChangedListener 方法(76)3.2.3 setText 方法(78)3.2.4 setTextSize 方法(79)3.2.5 set
15、Typeface 方法(80)3.2.6 setTextColor 方法(82)3.2.7 setHeight 方法(82)3.2.8 setBackgroundColor 方法(83)3.2.9 getHeight 方法(84)3.2.10 getWidth 方法(86)3.2.11 setPadding 方法(87)3.2.12 getPaddingLeft 方法(88)3.2.13 getPaddingTop 方法(88)3.2.14 getPaddingrRight 方法(88)3.2.15 getPaddingBottonm 方法(88)3.2.16 getCurrentTextCo
16、lor方法(89)3.2.17 getText 方法(91)3.2.18 TextView 控件的综合 实例(91)3.3 EditText 控件(98)3.3.1 setText 方法(98)3.3.2 getText 方法(100)3.3.3 setSelection 方法(101)3.3.4 setHint 方法(102)3.2.5 setOnKeyListener 方法(103)3.3.6 EditText控件的综合实例(104)3.4 RadioButton 控件(106)3.4.1 setOnCheckedChangedListener 方法(106)3.4.2 check 方法(109)3.4.3 clearCheck 方法(109)3.5 CheckBox 控件(110)3.5.1 isChecked 方法(111)3.5.2 setChecked 方法(113)3.5.3 toggle 方法(113)3.5.4 setOnCheckedChangeListener 方法(115)3.6 Toast 控件(117)3.6.1 cancel 方法(117)3.6.2 ge