图书简介:
目 录
第1章 Android入门概述 1
1.1 Android基本知识 1
1.1.1 Android SDK与API Level对应关系 1
1.1.2 Android架构 2
1.1.3 Android应用程序组件 4
1.2 搭建开发环境 6
1.3 HelloAndroid入门项目 7
1.3.1 需求分析 7
1.3.2 实施 8
1.4 Android项目结构分析 15
1.5 Android学习资料 16
1.6 练习题 17
1.7 作业 17
第2章 图形界面——计算器项目 18
2.1 需求分析 18
2.2 界面设计 18
2.3 实施 19
2.3.1 创建项目 19
2.3.2 界面实现 19
2.3.3 Java代码 23
2.3.4 运行测试 24
2.4 界面设计基础 24
2.4.1 View和ViewGroup 24
2.4.2 基本概念 25
2.4.3 共有属性 26
2.5 事件处理 29
2.5.1 设置控件的onClick属性 29
2.5.2 使用匿名类实现监听器接口 30
2.5.3 使用屏幕类实现监听器接口 30
2.6 布局 31
2.6.1 线性布局 31
2.6.2 相对布局 33
2.6.3 其他布局 34
2.7 常用控件 37
2.7.1 文本类控件 37
2.7.2 按钮类控件 41
2.7.3 选择类控件 42
2.7.4 提示类控件 49
2.7.5 图片类控件 51
2.7.6 菜单类控件 52
2.8 调试技巧 55
2.8.1 Debug 55
2.8.2 LogCat 56
2.8.3 File Explorer 57
2.8.4 ADB工具 58
2.8.5 手机调试 59
2.9 实训:完善计算器项目 60
2.10 实训:实现日期多选功能 60
2.11 实训:设计用户注册的Activity 61
2.12 练习题 62
2.13 作业 63
第3章 Activity与Intent——运动会报名项目 64
3.1 需求分析 64
3.2 界面设计 64
3.3 系统设计 65
3.3.1 功能设计 65
3.3.2 数据保存 66
3.3.3 给SD卡开启访问权限 66
3.4 实施 66
3.4.1 创建项目 66
3.4.2 界面实现 67
3.4.3 Java代码 73
3.4.4 运行测试 79
3.5 Activity的状态与生命周期 80
3.5.1 Activity的状态 80
3.5.2 Activity的生命周期 81
3.6 Intent 85
3.6.1 显式Intent 86
3.6.2 隐式Intent 87
3.6.3 Intent的解析机制 89
3.7 Activity之间传递数据 89
3.7.1 直接传递 89
3.7.2 使用Bundle类 89
3.7.3 返回数据 90
3.8 实训:完善运动会报名项目 90
3.9 练习题 91
3.10 作业 91
第4章 数据库与ContentProvider——用户管理项目 92
4.1 需求分析 92
4.2 界面设计 92
4.3 数据结构设计 94
4.4 实施 95
4.4.1 创建项目 95
4.4.2 数据库相关代码 95
4.4.3 界面实现 97
4.4.4 Java代码 100
4.5 SQLite数据库管理系统 107
4.5.1 SQLite概述 107
4.5.2 数据类型 107
4.5.3 基本操作方法 108
4.5.4 专用操作方法 110
4.5.5 SQLiteOpenHelper 111
4.5.6 SQLite数据库的管理 112
4.6 ContentProvider和ContentResolver 113
4.6.1 概念与功能 113
4.6.2 实例代码 113
4.7 使用内置的ContentProvider 118
4.8 实训:完善用户管理项目 119
4.9 实训:商品选购界面 119
4.10 练习题 122
4.11 作业 122
第5章 数据存储——简易相册项目 124
5.1 需求分析 124
5.2 界面设计 124
5.3 实施 125
5.3.1 创建项目 125
5.3.2 界面实现 125
5.3.3 Java代码 126
5.3.4 运行测试 130
5.4 数据存储概述 130
5.5 文件存储 130
5.5.1 资源文件 131
5.5.2 资产文件 131
5.5.3 项目文件 132
5.5.4 外部存储 132
5.6 共享偏好设置 133
5.7 通知 134
5.8 访问远程数据 134
5.9 实训:完善简易相册项目 135
5.10 实训:进一步完善用户管理项目 135
5.11 练习题 139
5.12 作业 140
第6章 Service——MP3音乐播放器项目 141
6.1 需求分析 141
6.2 界面设计 142
6.3 实施 142
6.3.1 创建项目 142
6.3.2 界面实现 142
6.3.3 Java代码 146
6.3.4 注册 159
6.3.5 SD卡的访问权限 159
6.3.6 运行测试 159
6.4 Service 159
6.4.1 Service概述 159
6.4.2 Service的启动方式 160
6.4.3 生命周期 160
6.5 多媒体 161
6.5.1 音频 161
6.5.2 视频 161
6.6 实训:完善MP3音乐播放器项目 162
6.7 实训:制作音乐盒项目 162
6.8 实训:Service练习 164
6.9 练习题 166
6.10 作业 167
第7章 BroadcastReceiver——短信过滤器项目 168
7.1 需求分析 168
7.2 界面设计 168
7.3 数据结构设计 169
7.4 实施 169
7.4.1 创建项目 169
7.4.2 界面实现 169
7.4.3 Java代码 172
7.4.4 注册 177
7.4.5 开启接收短信的权限 177
7.4.6 运行测试 177
7.5 BroadcastReceiver 179
7.5.1 系统广播事件 179
7.5.2 自定义广播事件 180
7.5.3 广播事件机制 181
7.6 手机通话 181
7.6.1 拨打电话 181
7.6.2 监视电话状态 184
7.7 手机短信 185
7.7.1 发送短信 185
7.7.2 接收短信 186
7.8 实训:完善短信过滤器项目 187
7.9 练习题 187
7.10 作业 188
第8章 多线程——射击游戏项目 189
8.1 需求分析 189
8.2 界面设计 189
8.3 实施 190
8.3.1 创建项目 190
8.3.2 界面实现 190
8.3.3 Java代码 191
8.3.4 运行测试 199
8.4 多线程技术 199
8.4.1 理解Android多线程 199
8.4.2 主线程和子线程 199
8.4.3 Thread类 200
8.4.4 Handler机制和AsyncTask异步任务类 203
8.5 绘图技术 208
8.5.1 Paint类 209
8.5.2 Canvas类 209
8.5.3 SurfaceView类 211
8.6 实训:改进射击游戏项目 213
8.7 实训:多线程技术的应用——秒表项目 214
8.8 练习题 214
8.9 作业 215
第9章 嵌入式开发:网络编程——天气预报项目 216
9.1 需求分析 216
9.2 界面设计 217
9.3 实施 217
9.3.1 创建项目 217
9.3.2 编写WebServiceCall类 217
9.3.3 Java代码 219
9.3.4 运行测试 220
9.4 网络编程概述 221
9.5 网络编程综合项目 221
9.5.1 客户端界面 222
9.5.2 Socket编程 225
9.5.3 HTTP编程 228
9.5.4 WebService编程 231
9.6 实训:完善天气预报项目 235
9.7 实训:词典项目 236
9.8 作业 236
第10章 嵌入式开发:串口编程——读卡器项目 237
10.1 需求分析 237
10.2 串口介绍 238
10.3 实验设备 239
10.3.1 硬件设备 239
10.3.2 Friendly ARM Tiny 6410简介 239
10.3.3 Friendly ARM Tiny 6410的串口编程 240
10.3.4 RFID读卡器的串口通信协议 242
10.3.5 串口小助手 244
10.4 实施 245
10.4.1 连接设备 245
10.4.2 实例代码 245
10.5 实训:完善读卡器项目 250
10.6 作业 250
第11章 综合实训——诗词赏析项目 251
11.1 项目介绍 251
11.1.1 项目概述 251
11.1.2 开发工具 251
11.1.3 界面设计 251
11.2 需求分析与功能分析 252
11.2.1 需求分析 252
11.2.2 功能分析 252
11.2.3 功能模块设计 254
11.3 实施 254
11.3.1 数据设计 254
11.3.2 界面实现 259
11.3.3 Java代码 267
11.4 运行测试 277
参考文献 278
展开
前言
当今的世界已步入移动互联时代,各种智能手机、平板电脑等移动设备迅速普及,逐步地改变着人们的工作、生活、消费方式。各传统软件及互联网企业也在调整产品布局,向移动互联应用软件进军。总体上看,移动互联应用产品开发产业呈井喷式发展,相关企业的人才需求量巨大。从高等职业教育的服务对象来看,高等职业教育要面向行业企业,以就业为导向,走产学结合道路,培养高素质的技能型人才。
Android是一种基于Linux的自由及开放源代码的操作系统,由Google公司和开放手机联盟领导及开发。过去,开发Android应用程序采用Eclipse集成开发工具。Android 6.0之后,Google公司开始主推Android Studio。Android Studio提供了集成的Android程序开发工具用于开发和调试。
Android Studio是一个全新的Android开发环境,成功解决了多分辨率、多语言等诸多程序开发与运行问题,开发者可以在编写程序的同时预览在不同尺寸屏幕中的外观效果。相关企业和技能大赛也已采用Android Studio开发环境。
本书注重培养读者的动手能力,循序渐进地介绍了Android应用程序开发的基本内容。本书共11章,第1章为“Android入门概述”,介绍了Android基本知识、搭建开发环境、项目结构分析等;第2章为“图形界面——计算器项目”,介绍了界面设计基础、事件处理、布局、常用的控件、调试技巧等;第3章为“Activity与Intent——运动会报名项目”,介绍了Activity的状态与生命周期、Intent、Activity间传递数据等;第4章为“数据库与ContentProvider——用户管理项目”,介绍了SQLite数据库管理系统、ContentProvider和ContentResolver、使用内置的ContentProvider等;第5章为“数据存储——简易相册项目”,介绍了数据存储概述、文件存储、共享偏好设置、通知、访问远程数据等;第6章为“Service——MP3音乐播放器项目”,介绍了Service、多媒体等;第7章为“BroadcastReceiver——短信过滤器项目”,介绍了BroadcastReceiver、手机通话、手机短信等;第8章为“多线程——射击游戏项目”,介绍了多线程技术、绘图技术等;第9章为“嵌入式开发:网络编程——天气预报项目”,介绍了网络编程概述、网络编程综合项目等;第10章为“嵌入式开发:串口编程——读卡器项目”,介绍了串口编程的相关内容。第11章为“综合实训——诗词赏析项目”,旨在通过一个完整的实训项目巩固前面所学的知识。
在第2章~第10章中,大部分项目通过需求分析、界面设计、实施等环节,逐步引导读者完成项目操作,同时,在每章的后半部分,讲解了对应项目所用到的基本概念与功能,并通过章末的实训环节加深理解。其中,第9章和第10章为嵌入式开发的相关内容,适用于物联网专业学习。
本书内容翔实、语言精练,涉及的知识面广,部分项目融入了技能大赛的设计理念。本书既可以作为高等院校、高等职业院校计算机、物联网专业的教材,也可以作为移动互联开发人员参考用书。
本书的建议课时安排如下表。
章 节 课时数 32学时
(入门) 48学时
(基本) 64学时
(完整) 64学时
(基本+嵌入式) 80学时
(完整+嵌入式)
第1章 Android入门概述 8 8 8 8 8 8
第2章 图形界面——计算器项目 10 10 10 10 10 10
第3章 Activity与Intent——运动会报名项目 12 12 12 12 12 12
第4章 数据库与ContentProvider——用户管理项目 10 0 10 10 10 10
第5章 数据存储——简易相册项目 6 0 6 6 6 6
第6章 Service——MP3音乐播放器项目 4 0 0 4 0 4
第7章 BroadcastReceiver——短信过滤器项目 6 0 0 6 0 6
第8章 多线程——射击游戏项目 6 0 0 6 0 6
第9章 嵌入式开发:网络编程——天气预报项目 8 0 0 0 8 8
第10章 嵌入式开发:串口编程——读卡器项目 8 0 0 0 8 8
第11章 综合实训——诗词赏析项目 0 0 0 0 0 0
机 动 2 2 2 2 2 2
合 计 80 32 48 64 64 80
本书由无锡职业技术学院周薇、王想实,河南交通职业技术学院李昊担任主编;无锡科技职业技术学院张超,石家庄信息工程职业学院陈斌,合肥信息技术职业学院陈姣姣担任副主编。
本书配有源代码、电子课件等教学资源,读者可以登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。
由于编者水平有限,书中的疏漏和不妥之处在所难免,敬请各界专家和读者朋友批评指正,意见和建议请反馈至编者的电子邮箱20831065@qq.com,我们将不胜感激。
编 者
展开