《Android套用开发案例教程》是2013年出版的图书,作者是毋建军、徐振东、林瀚。本书注重理论与实践相结合,内容详尽,提供了大量实例,突出套用能力的培养,将一个实际项目的知识点分解在各章作为案例讲解,是一本实用性突出的教材。
基本介绍
- 书名:Android套用开发案例教程
- 作者:毋建军、徐振东、林瀚
- ISBN:9787302311003
- 定价:49元
- 出版时间:2013-2-22
- 装帧:平装
- 印次:1-1
图书简介
此书为android开发教程,套用“项目驱动(Project-Driven) ”最新教学模式,通过完整的项目案例系统地介绍了使用Android技术设计与开发套用系统的理论和方法。全书论述了Android开发概述,Android应用程式组成,Android UI(用户界面)基础,Android UI系统控制项基础,Android UI系统控制项进阶,Android UI选单、对话框,Android 组件广播讯息与服务,Android数据存储与访问,手机通信服务,Google API服务等内容。
本书可作为普通高等学校计算机专业本、专科生Android套用开发课程的教材,也可供设计开发人员参考使用。
本书可作为普通高等学校计算机专业本、专科生Android套用开发课程的教材,也可供设计开发人员参考使用。
图书前言
21世纪,什幺技术将影响人类的生活?什幺产业将决定国家的发展?信息技术与信息产业是首选的答案。大专院校学生是企业和政府的后备军,国家教育部门计画在大专院校中普及政府和企业信息技术与软体工程教育。经过多所院校的实践,信息技术与软体工程教育受到同学们的普遍欢迎,取得了很好的教学效果。然而也存在一些不容忽视的共性问题,其中突出的是教材问题。
从近两年信息技术与软体工程教育研究来看 。具体体现在: 第一,来自信息技术与软体工程专业的术语很多,对于没有这些知识背景的同学学习起来具有一定难度;第二,书中案例比较匮乏,与企业的实际情况相差太远,致使案例可参考性差;第三,缺乏具体的课程实践指导和真实项目。因此,针对大专院校信息技术与软体工程课程教学特点与需求,编写适用的规範化教材已是刻不容缓。
本书就是针对以上问题编写的,作者希望推广一种最有效的学习与培训的捷径,这就是Project-Driven Training,也就是用项目实践来带动理论的学习(或者叫作“做中学”) 。基于此,作者围绕一个艾斯医药移动商务系统项目案例来贯穿Android套用开发各个模组的理论讲解,包括Android开发概述,Android应用程式组成,Android UI(用户界面)基础,Android UI系统控制项基础,Android UI系统控制项进阶,Android UI选单、对话框,Android 组件广播讯息与服务,Android数据存储与访问,手机通信服务,Google API服务等。通过项目实践,可以对技术套用有明确的目的性(为什幺学),对技术原理更好地融会贯通(学什幺),也可以更好地检验学习效果(学得怎样).
本书特色:
1. 重项目实践
作者多年项目开发经验的体会是“IT是做出来的,不是想出来的”,理论虽然重要,但一定要为实践服务。以项目为主线,带动理论的学习是最好、最快、最有效的方法。本书的特色是提供了一个完整的医药商务系统项目。通过此书,作者希望读者对Android开发技术和流程有一个整体了解,减少对项目的盲目感和神秘感,能够根据本书的体系循序渐进地动手做出自己的真实项目来。2. 重理论要点
本书是以项目实践为主线的,着重介绍Android开发理论中最重要、最精华的部分,以及它们之间的融会贯通;而不是面面俱到,没有重点和特色。读者首先通过项目把握整体概貌,再深入局部细节,系统学习理论;然后不断最佳化和扩展细节,完善整体框架和改进项目。既有整体框架,又有重点理论和技术。一书在手,思路清晰,项目无忧。本书由梁立新审稿、统稿并定稿。
为了便于教学,本书配有教学课件,读者可从清华大学出版社的网站下载。
鑒于编者的水平有限,书中难免有不足之处,敬请广大读者批评指正。
从近两年信息技术与软体工程教育研究来看 。具体体现在: 第一,来自信息技术与软体工程专业的术语很多,对于没有这些知识背景的同学学习起来具有一定难度;第二,书中案例比较匮乏,与企业的实际情况相差太远,致使案例可参考性差;第三,缺乏具体的课程实践指导和真实项目。因此,针对大专院校信息技术与软体工程课程教学特点与需求,编写适用的规範化教材已是刻不容缓。
本书就是针对以上问题编写的,作者希望推广一种最有效的学习与培训的捷径,这就是Project-Driven Training,也就是用项目实践来带动理论的学习(或者叫作“做中学”) 。基于此,作者围绕一个艾斯医药移动商务系统项目案例来贯穿Android套用开发各个模组的理论讲解,包括Android开发概述,Android应用程式组成,Android UI(用户界面)基础,Android UI系统控制项基础,Android UI系统控制项进阶,Android UI选单、对话框,Android 组件广播讯息与服务,Android数据存储与访问,手机通信服务,Google API服务等。通过项目实践,可以对技术套用有明确的目的性(为什幺学),对技术原理更好地融会贯通(学什幺),也可以更好地检验学习效果(学得怎样).
本书特色:
1. 重项目实践
作者多年项目开发经验的体会是“IT是做出来的,不是想出来的”,理论虽然重要,但一定要为实践服务。以项目为主线,带动理论的学习是最好、最快、最有效的方法。本书的特色是提供了一个完整的医药商务系统项目。通过此书,作者希望读者对Android开发技术和流程有一个整体了解,减少对项目的盲目感和神秘感,能够根据本书的体系循序渐进地动手做出自己的真实项目来。2. 重理论要点
本书是以项目实践为主线的,着重介绍Android开发理论中最重要、最精华的部分,以及它们之间的融会贯通;而不是面面俱到,没有重点和特色。读者首先通过项目把握整体概貌,再深入局部细节,系统学习理论;然后不断最佳化和扩展细节,完善整体框架和改进项目。既有整体框架,又有重点理论和技术。一书在手,思路清晰,项目无忧。本书由梁立新审稿、统稿并定稿。
为了便于教学,本书配有教学课件,读者可从清华大学出版社的网站下载。
鑒于编者的水平有限,书中难免有不足之处,敬请广大读者批评指正。
编 者2012年10月
图书目录
第1章 Android开发概述11.1 智慧型手机发展1
1.2 Android简介7
1.3 搭建Android开发环境11
1.3.1 Android开发环境系统要求12
1.3.2 Windows系统平台下搭建开发环境12
1.3.3 Linux系统平台下搭建开发环境20
1.4 Android SDK概述22
1.4.1 Android SDK目录结构22
1.4.2 Android常用开发工具22
1.4.3 Android SDK实例24
1.5 创建Android程式24
1.5.1 创建和使用虚拟设备24
1.5.2 在Eclipse下创建Android程式27
1.5.3 命令行创建Android程式29
1.5.4 调试Android程式36
习题142
第2章 Android线上医药套用--艾斯医药系统开发43
2.1 系统需求分析设计44
2.1.1 系统开发背景44
2.1.2 系统功能需求44
2.1.3 系统开发及部署平台45
2.2 系统详细设计分析46
2.2.1 Web伺服器端系统总体架构设计46
2.2.2 Web伺服器端系统功能概述48
2.2.3 Android手机客户端总体架构设计55
2.2.4 AscentSys(艾斯医药)移动客户端系统功能概述55
2.3 资料库详细设计分析57
2.3.1 资料库平台环境及要求57
2.3.2 资料库及表设计58
2.4 Web伺服器端功能模组开发612.4.1 伺服器端开发準备61
2.4.2 注册登录模组62
2.4.3 购物模组62
2.4.4 订单模组63
2.5 AscentSys医药商务系统移动客户端功能模组开发64
2.6 AscentSys移动客户端打包、签名、发布65
2.7 AscentSys医药系统部署68
习题270
第3章 Android应用程式71
3.1 Android项目构成71
3.1.1 目录结构71
3.1.2 AndroidManifest.xml档案简介72
3.1.3 gen目录74
3.1.4 res目录75
3.1.5 default.properties档案76
3.2 Android应用程式组成76
3.2.1 Android应用程式概述76
3.2.2 Activity组件77
3.2.3 Service组件77
3.2.4 Intent和IntentFilter组件77
3.2.5 BroadcastReceiver组件81
3.2.6 ContentProvider组件82
3.3 Android生命周期82
3.3.1 程式生命周期82
3.3.2 组件生命周期84
3.4 项目案例94
习题398
第4章 Android UI(用户界面)基础99
4.1 Android UI简介99
4.2 Android UI框架100
4.2.1 Android与MVC设计100
4.2.2 视图树模型(View和Viewgroup) 101
4.3 Android UI控制项类简介101
4.3.1 View类101
4.3.2 ViewGroup类1024.3.3 界面控制项103
4.4 Android UI布局103
4.4.1 线性布局103
4.4.2 线性布局套用案例105
4.4.3 相对布局107
4.4.4 相对布局套用案例108
4.4.5 表格布局110
4.4.6 表格布局套用案例112
4.4.7 帧布局115
4.4.8 帧布局套用案例115
4.4.9 绝对布局118
4.4.10 绝对布局套用案例119
4.5 项目案例121
习题4125
第5章 Android UI系统控制项基础126
5.1 文本控制项简介127
5.1.1 文本框127
5.1.2 TextView套用案例128
5.1.3 编辑框130
5.1.4 EditText套用案例131
5.2 按钮控制项简介132
5.2.1 按钮132
5.2.2 Button套用案例133
5.2.3 图片按钮135
5.2.4 ImageButton套用案例136
5.3 单选与複选按钮简介138
5.3.1 单选按钮138
5.3.2 複选按钮140
5.3.3 RadioButton和CheckBox综合套用案例142
5.4 时间与日期控制项简介144
5.4.1 时间选择器144
5.4.2 日期选择器144
5.4.3 时间与日期控制项综合套用案例145
5.5 图片控制项简介149
5.5.1 图片控制项149
5.5.2 ImageView套用案例1505.5.3 切换图片控制项ImageSwitcher、Gallery153
5.5.4 ImageSwitcher、Gallery综合套用案例154
5.6 时钟控制项简介159
5.6.1 模拟时钟与数字时钟159
5.6.2 AnalogClock和DigitalClock套用案例160
5.7 项目案例163
习题5167
第6章 Android UI系统控制项进阶168
6.1 列表控制项简介168
6.1.1 列表控制项168
6.1.2 ListView套用案例170
6.1.3 下拉列表控制项172
6.1.4 Spinner套用案例174
6.2 进度条与滑块控制项简介176
6.2.1 进度条176
6.2.2 ProgressBar套用案例177
6.2.3 滑块179
6.2.4 SeekBar套用案例181
6.3 评分控制项简介183
6.3.1 评分控制项183
6.3.2 RatingBar套用案例183
6.4 自动完成文本控制项简介185
6.4.1 自动完成文本控制项185
6.4.2 AutoCompleteTextView套用案例186
6.5 Tabhost控制项简介188
6.5.1 Tabhost控制项188
6.5.2 Tabhost套用案例189
6.6 视图控制项简介191
6.6.1 滚动视图控制项191
6.6.2 ScrollView套用案例191
6.6.3 格线视图控制项193
6.6.4 GridView套用案例194
6.7 Android事件处理196
6.7.1 Android事件和监听器196
6.7.2 Android事件处理机制197
6.7.3 Android事件处理机制套用案例2016.7.4 按键事件套用案例206
6.7.5 触摸事件套用案例208
6.8 项目案例210
习题6213
第7章 Android UI选单、对话框214
7.1 选单控制项Menu214
7.1.1 Menu简介214
7.1.2 选项选单215
7.1.3 选项选单套用案例216
7.1.4 子选单219
7.1.5 子选单套用案例219
7.1.6 快捷选单222
7.1.7 快捷选单套用案例223
7.2 对话框控制项Dialog226
7.2.1 Dialog简介226
7.2.2 警告(提示)对话框AlertDialog227
7.2.3 AlertDialog套用案例227
7.2.4 日期选择对话框DatePickerDialog229
7.2.5 DatePickerDialog套用案例230
7.2.6 时间选择对话框TimePickerDialog233
7.2.7 TimePickerDialog套用案例233
7.2.8 进度对话框ProgressDialog236
7.2.9 ProgressDialog套用案例236
7.3 信息提示控制项239
7.3.1 Toast控制项简介239
7.3.2 Toast套用案例239
7.3.3 Notification控制项简介242
7.3.4 Notification套用案例 243
7.4 项目案例246
习题7250
第8章 Android组件广播讯息与服务251
8.1 Intent讯息通信251
8.1.1 Intent简介251
8.1.2 使用Intent进行组件通信254
8.1.3 使用Intent启动Activity2548.1.4 获取Activity返回值260
8.1.5 Intent Filter原理与匹配机制263
8.2 Intent广播讯息267
8.2.1 广播讯息267
8.2.2 BroadcastReceiver监听广播讯息267
8.2.3 Broadcast Receiver套用案例270
8.3 Service组件服务273
8.4 项目案例274
习题8281
第9章 Android数据存储与访问282
9.1 SharedPreferences283
9.1.1 SharedPreferences简介283
9.1.2 读取应用程式数据案例286
9.1.3 读取其他应用程式数据案例289
9.2 档案存储290
9.2.1 档案存储简介291
9.2.2 档案存储套用案例293
9.2.3 SDCard存储简介301
9.2.4 SD卡存储套用案例302
9.3 SQLite资料库存储307
9.3.1 SQLite资料库简介307
9.3.2 创建SQLite资料库方式310
9.3.3 SQLite资料库操作313
9.3.4 SQLite资料库管理317
9.3.5 SQLite资料库套用案例319
9.4 数据共享328
9.4.1 ContentProvider简介328
9.4.2 Uri、UriMatcher和ContentUris简介329
9.4.3 创建ContentProvider 332
9.4.4 ContentResolver运算元据333
9.4.5 ContentProvider套用案例334
9.5 网路存储337
9.5.1 网路存储简介337
9.5.2 网路存储套用案例337
9.6 数据存储项目案例339
习题9361第10章 手机通信服务362
10.1 简讯服务362
10.1.1 简讯服务简介362
10.1.2 简讯传送与提示案例363
10.1.3 简讯传送状态查询案例367
10.2 电话服务370
10.2.1 电话服务简介370
10.2.2 接打电话案例371
10.3 E-mail服务374
10.3.1 SMTP简介374
10.3.2 传送邮件案例377
10.4 网路资源访问与处理382
10.4.1 使用URL读取网路资源383
10.4.2 使用URL访问网路套用案例 384
10.4.3 使用HTTP访问网路资源(HttpURLConnection)386
10.4.4 使用HTTP访问网路套用案例388
10.5 项目案例396
习题10413
第11章 Google API服务414
11.1 地理位置定位服务414
11.1.1 Android Location API简介415
11.1.2 获取位置定位案例418
11.2 Google Map服务422
11.2.1 Google Map API简介422
11.2.2 申请Map API KEY422
11.2.3 使用Map API 创建AVD套用424
11.3 项目案例426
习题11431
致谢432
1.2 Android简介7
1.3 搭建Android开发环境11
1.3.1 Android开发环境系统要求12
1.3.2 Windows系统平台下搭建开发环境12
1.3.3 Linux系统平台下搭建开发环境20
1.4 Android SDK概述22
1.4.1 Android SDK目录结构22
1.4.2 Android常用开发工具22
1.4.3 Android SDK实例24
1.5 创建Android程式24
1.5.1 创建和使用虚拟设备24
1.5.2 在Eclipse下创建Android程式27
1.5.3 命令行创建Android程式29
1.5.4 调试Android程式36
习题142
第2章 Android线上医药套用--艾斯医药系统开发43
2.1 系统需求分析设计44
2.1.1 系统开发背景44
2.1.2 系统功能需求44
2.1.3 系统开发及部署平台45
2.2 系统详细设计分析46
2.2.1 Web伺服器端系统总体架构设计46
2.2.2 Web伺服器端系统功能概述48
2.2.3 Android手机客户端总体架构设计55
2.2.4 AscentSys(艾斯医药)移动客户端系统功能概述55
2.3 资料库详细设计分析57
2.3.1 资料库平台环境及要求57
2.3.2 资料库及表设计58
2.4 Web伺服器端功能模组开发612.4.1 伺服器端开发準备61
2.4.2 注册登录模组62
2.4.3 购物模组62
2.4.4 订单模组63
2.5 AscentSys医药商务系统移动客户端功能模组开发64
2.6 AscentSys移动客户端打包、签名、发布65
2.7 AscentSys医药系统部署68
习题270
第3章 Android应用程式71
3.1 Android项目构成71
3.1.1 目录结构71
3.1.2 AndroidManifest.xml档案简介72
3.1.3 gen目录74
3.1.4 res目录75
3.1.5 default.properties档案76
3.2 Android应用程式组成76
3.2.1 Android应用程式概述76
3.2.2 Activity组件77
3.2.3 Service组件77
3.2.4 Intent和IntentFilter组件77
3.2.5 BroadcastReceiver组件81
3.2.6 ContentProvider组件82
3.3 Android生命周期82
3.3.1 程式生命周期82
3.3.2 组件生命周期84
3.4 项目案例94
习题398
第4章 Android UI(用户界面)基础99
4.1 Android UI简介99
4.2 Android UI框架100
4.2.1 Android与MVC设计100
4.2.2 视图树模型(View和Viewgroup) 101
4.3 Android UI控制项类简介101
4.3.1 View类101
4.3.2 ViewGroup类1024.3.3 界面控制项103
4.4 Android UI布局103
4.4.1 线性布局103
4.4.2 线性布局套用案例105
4.4.3 相对布局107
4.4.4 相对布局套用案例108
4.4.5 表格布局110
4.4.6 表格布局套用案例112
4.4.7 帧布局115
4.4.8 帧布局套用案例115
4.4.9 绝对布局118
4.4.10 绝对布局套用案例119
4.5 项目案例121
习题4125
第5章 Android UI系统控制项基础126
5.1 文本控制项简介127
5.1.1 文本框127
5.1.2 TextView套用案例128
5.1.3 编辑框130
5.1.4 EditText套用案例131
5.2 按钮控制项简介132
5.2.1 按钮132
5.2.2 Button套用案例133
5.2.3 图片按钮135
5.2.4 ImageButton套用案例136
5.3 单选与複选按钮简介138
5.3.1 单选按钮138
5.3.2 複选按钮140
5.3.3 RadioButton和CheckBox综合套用案例142
5.4 时间与日期控制项简介144
5.4.1 时间选择器144
5.4.2 日期选择器144
5.4.3 时间与日期控制项综合套用案例145
5.5 图片控制项简介149
5.5.1 图片控制项149
5.5.2 ImageView套用案例1505.5.3 切换图片控制项ImageSwitcher、Gallery153
5.5.4 ImageSwitcher、Gallery综合套用案例154
5.6 时钟控制项简介159
5.6.1 模拟时钟与数字时钟159
5.6.2 AnalogClock和DigitalClock套用案例160
5.7 项目案例163
习题5167
第6章 Android UI系统控制项进阶168
6.1 列表控制项简介168
6.1.1 列表控制项168
6.1.2 ListView套用案例170
6.1.3 下拉列表控制项172
6.1.4 Spinner套用案例174
6.2 进度条与滑块控制项简介176
6.2.1 进度条176
6.2.2 ProgressBar套用案例177
6.2.3 滑块179
6.2.4 SeekBar套用案例181
6.3 评分控制项简介183
6.3.1 评分控制项183
6.3.2 RatingBar套用案例183
6.4 自动完成文本控制项简介185
6.4.1 自动完成文本控制项185
6.4.2 AutoCompleteTextView套用案例186
6.5 Tabhost控制项简介188
6.5.1 Tabhost控制项188
6.5.2 Tabhost套用案例189
6.6 视图控制项简介191
6.6.1 滚动视图控制项191
6.6.2 ScrollView套用案例191
6.6.3 格线视图控制项193
6.6.4 GridView套用案例194
6.7 Android事件处理196
6.7.1 Android事件和监听器196
6.7.2 Android事件处理机制197
6.7.3 Android事件处理机制套用案例2016.7.4 按键事件套用案例206
6.7.5 触摸事件套用案例208
6.8 项目案例210
习题6213
第7章 Android UI选单、对话框214
7.1 选单控制项Menu214
7.1.1 Menu简介214
7.1.2 选项选单215
7.1.3 选项选单套用案例216
7.1.4 子选单219
7.1.5 子选单套用案例219
7.1.6 快捷选单222
7.1.7 快捷选单套用案例223
7.2 对话框控制项Dialog226
7.2.1 Dialog简介226
7.2.2 警告(提示)对话框AlertDialog227
7.2.3 AlertDialog套用案例227
7.2.4 日期选择对话框DatePickerDialog229
7.2.5 DatePickerDialog套用案例230
7.2.6 时间选择对话框TimePickerDialog233
7.2.7 TimePickerDialog套用案例233
7.2.8 进度对话框ProgressDialog236
7.2.9 ProgressDialog套用案例236
7.3 信息提示控制项239
7.3.1 Toast控制项简介239
7.3.2 Toast套用案例239
7.3.3 Notification控制项简介242
7.3.4 Notification套用案例 243
7.4 项目案例246
习题7250
第8章 Android组件广播讯息与服务251
8.1 Intent讯息通信251
8.1.1 Intent简介251
8.1.2 使用Intent进行组件通信254
8.1.3 使用Intent启动Activity2548.1.4 获取Activity返回值260
8.1.5 Intent Filter原理与匹配机制263
8.2 Intent广播讯息267
8.2.1 广播讯息267
8.2.2 BroadcastReceiver监听广播讯息267
8.2.3 Broadcast Receiver套用案例270
8.3 Service组件服务273
8.4 项目案例274
习题8281
第9章 Android数据存储与访问282
9.1 SharedPreferences283
9.1.1 SharedPreferences简介283
9.1.2 读取应用程式数据案例286
9.1.3 读取其他应用程式数据案例289
9.2 档案存储290
9.2.1 档案存储简介291
9.2.2 档案存储套用案例293
9.2.3 SDCard存储简介301
9.2.4 SD卡存储套用案例302
9.3 SQLite资料库存储307
9.3.1 SQLite资料库简介307
9.3.2 创建SQLite资料库方式310
9.3.3 SQLite资料库操作313
9.3.4 SQLite资料库管理317
9.3.5 SQLite资料库套用案例319
9.4 数据共享328
9.4.1 ContentProvider简介328
9.4.2 Uri、UriMatcher和ContentUris简介329
9.4.3 创建ContentProvider 332
9.4.4 ContentResolver运算元据333
9.4.5 ContentProvider套用案例334
9.5 网路存储337
9.5.1 网路存储简介337
9.5.2 网路存储套用案例337
9.6 数据存储项目案例339
习题9361第10章 手机通信服务362
10.1 简讯服务362
10.1.1 简讯服务简介362
10.1.2 简讯传送与提示案例363
10.1.3 简讯传送状态查询案例367
10.2 电话服务370
10.2.1 电话服务简介370
10.2.2 接打电话案例371
10.3 E-mail服务374
10.3.1 SMTP简介374
10.3.2 传送邮件案例377
10.4 网路资源访问与处理382
10.4.1 使用URL读取网路资源383
10.4.2 使用URL访问网路套用案例 384
10.4.3 使用HTTP访问网路资源(HttpURLConnection)386
10.4.4 使用HTTP访问网路套用案例388
10.5 项目案例396
习题10413
第11章 Google API服务414
11.1 地理位置定位服务414
11.1.1 Android Location API简介415
11.1.2 获取位置定位案例418
11.2 Google Map服务422
11.2.1 Google Map API简介422
11.2.2 申请Map API KEY422
11.2.3 使用Map API 创建AVD套用424
11.3 项目案例426
习题11431
致谢432