Android移动应用开发教程 9787111715429 李立亚 江苏省高等学校重点教材 立体化教材
定 价:69 元
丛书名:江苏省高等学校重点教材 高等职业教育系列教材
- 作者:李立亚 张春燕 吴丽
- 出版时间:2022/11/1
- ISBN:9787111715429
- 出 版 社:机械工业出版社
- 中图法分类:TN929.53
- 页码:266
- 纸张:
- 版次:
- 开本:16
本书采用活页式教材思路设计章节内容,并设计了62个相互独立的案例,这些案例可以灵活组合和拓展,方便读者设计个性化的学习方案,自主进行拓展练习。
本书共14章。第1章介绍Android开发环境及项目结构。第2、3章介绍Android界面设计基础知识。第4、5章介绍Android窗口开发。第6章介绍Android子窗口设计。第7章介绍数据访问技术。第8、9章介绍广播、内容提供者和服务的开发。第10章介绍线程开发、Handler消息机制和消息驱动线程,并介绍了Android提供的HandlerThread、AsyncTask、IntentService工具类的使用。第11章介绍网络编程。第12章介绍WebView控件的使用。第13章介绍传感器与定位,并通过一个项目案例来演示如何获取北斗等导航系统的可见卫星数量。第14章介绍蓝牙通信编程,并通过综合案例—蓝牙串口助手的开发,演示广播、服务、线程和消息机制等组件的综合运用。
本书可作为高职高专、职业本科、应用本科院校的计算机、物联网、移动应用开发、移动互联应用技术等专业的教材,也可作为Android自学者和从事Android应用开发的工程技术人员的参考用书。
前言
第1章 Android开发简介1
1.1 Android OS简介1
1.1.1 Android的发展历史1
1.1.2 Android体系结构1
1.1.3 Dalvik虚拟机2
1.2 搭建开发环境3
1.2.1 下载和安装JDK3
1.2.2 下载和安装Android Studio5
1.2.3 创建Android模拟器9
1.2.4 下载Android SDK11
1.3 第一个Android程序13
1.3.1 HelloWorld程序13
1.3.2 Android程序结构16
1.3.3 Android程序打包17
1.4 配置文件build.gradle18
1.5 思考与练习19
第2章 Android应用界面布局设计20
2.1 UI控件简介20
2.2 经典布局22
2.2.1 线性布局LinearLayout23
2.2.2 案例1 制作用户注册页面25
2.2.3 帧布局FrameLayout26
2.3 约束布局ConstraintLayout27
2.3.1 相对定位27
2.3.2 角度定位29
2.3.3 居中31
2.3.4 偏移32
2.3.5 尺寸约束33
2.3.6 链34
2.4 辅助布局工具36
2.4.1 分组36
2.4.2 屏障37
2.4.3 辅助线39
2.5 思考与练习40
第3章 Android应用界面效果41
3.1 样式和主题41
3.1.1 样式和主题介绍41
3.1.2 案例2 使用自定义样式和主题42
3.2 国际化43
3.2.1 国际化方式43
3.2.2 案例3 让页面支持中英显示44
3.3 shape形状46
3.3.1 shape形状语法介绍46
3.3.2 案例4 shape形状的使用47
3.4 layer-list图层列表49
3.4.1 案例5 单线效果49
3.4.2 案例6 双线效果49
3.4.3 案例7 阴影效果50
3.4.4 案例8 图片叠放效果50
3.4.5 案例9 图片旋转叠放效果51
3.5 selector选择器51
3.5.1 selector选择器语法介绍51
3.5.2 案例10 颜色选择器和图形选择器的使用52
3.6 思考与练习53
第4章 Android应用人机交互54
4.1 Android应用事件处理54
4.1.1 案例11 在代码中操作控件54
4.1.2 案例12 以注册监听器方式响应用户单击事件56
4.1.3 案例13 重写事件方法以处理按键操作57
4.2 菜单58
4.2.1 案例14 为页面添加选项菜单59
4.2.2 案例15 为页面添加上下文菜单60
4.3 常用控件62
4.3.1 文本显示控件62
4.3.2 输入框控件62
4.3.3 按钮类控件63
4.3.4 图片显示控件64
4.3.5 案例16 几个控件的使用65
4.4 软键盘67
4.4.1 软键盘的设置67
4.4.2 案例17 软键盘的使用68
4.5 思考与练习69
第5章 Activity和Intent70
5.1 Activity介绍70
5.1.1 Activity的启动模式70
5.1.2 Activity生命周期71
5.1.3 案例18 启动窗口输出生命周期方法73
5.2 启动新窗口74
5.2.1 Intent介绍74
5.2.2 案例19 添加新窗口并启动76
5.2.3 案例20 使用浏览器浏览网页77
5.3 Activity中的数据传递78
5.3.1 数据正传79
5.3.2 案例21 从登录界面跳转到新界面79
5.3.3 数据回传80
5.3.4 案例22 注册页面头像选择81
5.4 对话框83
5.4.1 日期和时间对话框类的使用84
5.4.2 AlertDialog对话框类的使用85
5.5 思考与练习88
第6章 子窗口设计89
6.1 Fragment介绍89
6.1.1 Fragment的创建89
6.1.2 Fragment的生命周期91
6.1.3 Fragment的使用91
6.1.4 案例23 Fragment的使用92
6.2 BottomNavigationView控件94
6.2.1 BottomNavigationView控件简介94
6.2.2 案例24 Fragment与BottomNavigationView结合实现子窗口切换95
6.3 ViewPager控件97
6.3.1 ViewPager控件简介97
6.3.2 PagerAdapter适配器98
6.3.3 案例25 用ViewPager实现简单的图片切换99
6.4 TabLayout控件100
6.4.1 TabLayout控件简介100
6.4.2 TabLayout的使用100
6.4.3 案例26 TabLayout与ViewPager结合设计子栏目102
6.5 Fragment的嵌套使用103
6.5.1 Fragment的嵌套103
6.5.2 Fragment适配器103
6.5.3 案例27 结合TabLayout、ViewPager、Fragment嵌套实现页中页104
6.6 思考与练习106
第7章 数据访问107
7.1 SharedPreferences的使用107
7.1.1 SharedPreferences简介107
7.1.2 案例28 使用SharedPreferences保存用户名和密码108
7.2 文件存储110
7.2.1 内部存储110
7.2.2 案例29 使用内部存储保存文本文件110
7.2.3 外部存储112
7.2.4 案例30 使用外部存储保存文件112
7.3 JSON解析115
7.3.1 JSON数据115
7.3.2 JSON解析方法116
7.3.3 案例31 使用org.json解析学生信息118
7.3.4 案例32 使用Gson解析天气信息119
7.4 SQLite数据库122
7.4.1 创建数据库122
7.4.2 数据库操作123
7.4.3 ListView控件的使用126
7.4.4 案例33 学生成绩管理126
7.5 思考与练习129
第8章 广播和内容提供者131
8.1 广播介绍131
8.1.1 广播运转模式131
8.1.2 广播分类132
8.2 全局广播132
8.2.1 全局广播的使用132
8.2.2 案例34 监听WiFi状态134
8.3 本地广播137
8.3.1 本地广播的使用137
8.3.2 案例35 使用本地广播发送数据138
8.4 内容提供者139
8.4.1 内容提供者介绍139
8.4.2 案例36 监听用户截屏和短信142
8.5 思考与练习146
第9章 服务147
9.1 服务简介147
9.1.1 服务的使用方式147
9.1.2 自定义服务类的创建147
9.1.3 自定义服务类的注册148
9.2 服务的生命周期149
9.2.1 服务运行流程149
9.2.2 生命周期方法介绍149
9.2.3 服务的终止150
9.3 启动方式使用服务150
9.3.1 开发流程说明150
9.3.2 案例37 启动方式使用服务152
9.4 绑定方式使用服务153
9.4.1 开发流程说明154
9.4.2 案例38 绑定方式使用服务154
9.5 前台服务157
9.6 案例39 音乐播放器158
9.6.1 MediaPlayer媒体播放类介绍158
9.6.2 音乐播放器的实现160
9.7 思考与练习162
第10章 线程与消息处理163
10.1 线程编程介绍163
10.1.1 进程、线程和应用程序163
10.1.2 Android应用中的线程163
10.1.3 案例40 用Java线程类开发线程164
10.2 Handler消息机制166
10.2.1 Handler消息机制运转方式166
10.2.2 案例41 使用post方式更新UI窗口167
10.2.3 案例42 使用send方式向UI窗口发消息169
10.3 消息驱动线程172
10.3.1 如何在线程中支持消息机制172
10.3.2 案例43 在后台线程中实现消息机制173
10.4 Android提供的线程开发工具类176
10.4.1 案例44 HandlerThread类的使用177
10.4.2 案例45 AsyncTask类的使用179
10.4.3 案例46 IntentService类的使用182
10.5 思考与练习185
第11章 网络编程186
11.1 案例47 获取网络状态186
11.2 HttpURLConnection编程188
11.2.1 HTTP简介188
11.2.2 案例48 以GET方式获得网页和天气189
11.2.3 案例49 以POST方式登录服务器191
11.3 Volley框架195
11.3.1 Volley中请求类的使用195
11.3.2 案例50 使用ImageRequest获取网络图片197
11.3.3 案例51 使用ImageLoader类和NetworkImageView控件加载图片199
11.4 思考与练习202
第12章 WebView控件203
12.1 WebView控件介绍203
12.1.1 WebView控件方法203
12.1.2 案例52 使用WebView控件浏览网页204
12.2 WebView控件功能定制205
12.2.1 WebView控件功能定制类205
12.2.2 案例53 使用WebView控件加载网页并支持JavaScript207
12.3 案例54 监听长按事件并获取网页内容208
12.4 与网页代码交互210
12.4.1 案例55 使用WebView控件调用JavaScript代码211
12.4.2 案例56 JavaScript调用Android代码213
12.5 案例57 从网页中下载文件216
12.6 思考与练习219
第13章 传感器与定位220
13.1 Android平台传感器介绍220
13.1.1 Android平台支持的传感器220
13.1.2 传感器坐标系和模拟器221
13.1.3 传感器开发框架介绍222
13.1.4 案例58 获得设备传感器及传感事件处理224
13.2 传感器数据获取225
13.2.1 环境传感器225
13.2.2 动态传感器225
13.2.3 位置传感器228
13.2.4 案例59 获得步数、光照、方位信息229
13.3 使用定位功能232
13.3.1 定位方式介绍233
13.3.2 定位开发框架233
13.3.3 案例60 获得GPS定位数据235
13.3.4 案例61 获得北斗等定位系统信息237
13.4 思考与练习241
第14章 蓝牙通信编程242
14.1 蓝牙通信编程介绍242
14.2 开启蓝牙242
14.3 经典蓝牙通信编程244
14.3.1 扫描蓝牙244
14.3.2 蓝牙配对245
14.3.3 蓝牙连接246
14.3.4 在蓝牙连接上通信248
14.4 低功耗蓝牙通信编程248
14.4.1 扫描蓝牙249
14.4.2 蓝牙连接250
14.4.3 在蓝牙连接上通信251
14.5 案例62 蓝牙串口助手251
14.5.1 辅助工具的使用251
14.5.2 功能和总体结构252
14.5.3 AppConfig类和广播接收者类代码254
14.5.4 ThreadBltClient类256
14.5.5 MyService服务类代码259
14.5.6 MainActivity类代码260
14.6 思考与练习266