ANDROID 9编程通俗演义
- ISBN:9787302523932
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:433
- 出版时间:2019-04-01
- 条形码:9787302523932 ; 978-7-302-52393-2
本书特色
本书严格参考Android 9官方开发文档的逻辑,全面讲解Android开发中的各种技术,章节内容循序渐进,精心安排,翔实全面,且又通俗易懂,既不是术语的罗列,也不是不知所云的翻译。 本书分为18章,内容包括配置Android 9开发环境、*个App、UI资源与Layout、各种Layout控件、代码操作控件、Activity导航、Theme、Fragment、菜单、动画、自定义控件、RecyclerView、模仿QQApp界面、实现聊天界面、多线程、网络通信、异步调用库RxJava、实现聊天功能等。 本书适合Android编程初学者、Android应用开发人员,也适合高等院校和培训学校相关专业的师生教学参考。
内容简介
本书严格参考Android 9官方开发文档的逻辑,全面讲解Android开发中的各种技术,章节内容循序渐进,精心安排,翔实全面,且又通俗易懂,既不是术语的罗列,也不是不知所云的翻译。 本书分为18章,内容包括配置Android 9开发环境、个App、UI资源与Layout、各种Layout控件、代码操作控件、Activity导航、Theme、Fragment、菜单、动画、自定义控件、RecyclerView、模仿QQApp界面、实现聊天界面、多线程、网络通信、异步调用库RxJava、实现聊天功能等。 本书适合Android编程初学者、Android应用开发人员,也适合高等院校和培训学校相关专业的师生教学参考。
目录
第1章 配置Android开发环境 1
1.1 下载Android Studio 1
1.2 安装Android Studio 2
1.3 配置Android SDK 4
1.4 四原则 6
第2章 **个App 8
2.1 创建**个App 8
2.2 运行App 12
2.2.1 在真实设备上调试 13
2.2.2 配置虚拟机 15
2.2.3 启动App 18
2.2.4 x86虚拟机加速 19
2.2.5 App的样子 21
2.3 工程里面有什么 22
第3章 UI资源与Layout 24
3.1 Layout 24
3.2 改动Layout 27
3.2.1 添加图像资源 30
3.2.2 显示自己的图像 32
3.2.3 XML小解 35
3.2.4 Layout源码解释 36
3.3 排版姿方法之ConstraintLayout 37
3.3.1 ConstraintLayout的原理 38
3.3.2 子控件在ConstraintLayout中居左或居右 39
3.3.3 子控件在ConstraintLayout中横向居中 40
3.3.4 子控件在ConstraintLayout中居中偏左 41
3.3.5 子控件A在子控件B的上面 42
3.3.6 子控件A与子控件B左边对齐 43
3.3.7 设置子控件的宽和高 44
3.3.8 子控件的宽和高保持一定比例 45
3.4 排版方法之RelativeLayout 48
3.4.1 把ConstraintLayout改为RelativeLayout 49
3.4.2 左右对齐与居中 51
3.4.3 充满整个父控件 52
3.4.4 兄弟之间相对排 53
3.4.5 dp是什么 55
3.4.6 使用RelativeLayout设计登录页面 56
3.5 让内容“滚” 63
3.5.1 添加ScrollView作为*外层容器 63
3.5.2 改正在ScrollView下的排版 66
3.6 添加新的Layout资源 70
第4章 各种Layout控件 72
4.1 FrameLayout 72
4.2 LinearLayout 72
4.2.1 纵向LinearLayout中子控件横向居中 74
4.2.2 子控件均匀分布 75
4.2.3 子控件按比例分布 76
4.2.4 用LinearLayout实现登录界面 77
4.3 GridLayout 79
4.4 TableLayout 80
第5章 代码操作控件 81
5.1 在Activity中创建界面 81
5.1.1 类R 82
5.1.2 Activity的父类 82
5.1.3 四大组件 82
5.2 在代码中操作控件 83
5.2.1 获取View 84
5.2.2 响应View的事件 86
5.2.3 添加依赖库 87
5.2.4 显示提示 90
第6章 Activity导航 93
6.1 创建注册页面 93
6.2 启动注册页面 94
6.3 设计注册页面 98
6.4 响应注册按钮进行注册 102
6.5 获取页面返回的数据 103
6.5.1 避免常量重复出现 105
6.5.2 日志输出 106
6.5.3 将返回的数据设置到控件中 107
6.6 Action Bar上的返回图标 109
6.6.1 原生Action Bar与MaterailDesign Action Bar 109
6.6.2 登录页面显示返回图标 111
6.6.3 注册页面显示返回图标 112
第7章 Theme 113
第8章 Fragment 115
8.1 弄巧成拙的Activity 115
8.2 使用Fragment 117
8.3 改造登录页面 120
8.3.1 添加layout文件 120
8.3.2 改变layout文件的内容 121
8.3.3 添加Fragment类 122
8.3.4 将Fragment放到Activity中 126
8.3.5 创建注册Fragment 126
8.3.6 显示RegisterFragment 128
8.3.7 通过AppBar控制页面导航 129
8.3.8 实现RegisterFragment的逻辑 129
8.3.9 LoginFragment中读出用户名和密码 131
8.3.10 Fragment的生命周期 132
8.3.11 Fragment状态保存与恢复 133
8.3.12 总结 134
8.4 对话框 138
8.4.1 创建子类 138
8.4.2 显示对话框 140
8.4.3 响应返回键 141
8.4.4 取消输入控件的焦点 142
第9章 菜单 143
9.1 添加菜单资源 144
9.2 重写onCreateOptionsMenu() 147
9.3 嵌套菜单 148
9.4 菜单项分组 150
9.5 响应菜单项 150
9.6 其他菜单类型 152
第10章 动画 153
10.1 动画原理 153
10.2 三种动画 154
10.3 View动画 155
10.3.1 绕着中心转 156
10.3.2 不要反向转 157
10.3.3 举一反三 158
10.3.4 动画组 158
10.4 属性动画 159
10.4.1 旋转动画 159
10.4.2 动画组 160
10.5 动画资源 164
10.6 Layout动画 167
10.6.1 向Layout控件添加子控件 167
10.6.2 ViewGroup 168
10.6.3 设置排版动画 169
10.7 转场动画 171
10.7.1 使用默认转场动画 171
10.7.2 自定义转场动画 172
第11章 自定义控件 176
11.1 创建一个Custom View 177
11.2 Custom View类 179
11.2.1 构造方法 179
11.2.2 onDraw()方法 180
11.2.3 init()方法 182
11.2.4 自定义属性 184
11.2.5 作画 186
11.3 创建圆形图像控件 188
11.3.1 将Drawable转成Bitmap 191
11.3.2 变换矩阵 192
11.3.3 自定义属性的改动 193
11.3.4 类的所有代码 195
第12章 RecyclerView 200
12.1 基本用法 200
12.2 显示多条简单数据 201
12.2.1 添加新页面 201
12.2.2 创建Adapter子类 203
12.2.3 设置RecyclerView 205
12.2.4 用集合保存数据 206
12.3 让子控件复杂起来 207
12.3.1 创建条目的Layout资源 208
12.3.2 应用条目Layout资源 210
12.3.3 明显区分每一行 212
12.3.4 创建音乐信息类 214
12.3.5 使用音乐信息类 215
12.4 增删改 217
12.4.1 增加一条 217
12.4.2 其他操作 219
12.5 局部刷新 219
12.6 运行效率优化 220
12.7 响应item选择 221
12.8 显示不同类型的行 223
12.8.1 添加新Item数据类 224
12.8.2 添加Item Layout 225
12.8.3 创建新的ViewHolder类 226
12.8.4 区分不同的View Type 227
第13章 模仿QQApp界面 230
13.1 创建新的Android项目 230
13.2 设计登录页面 230
13.2.1 创建登录Fragment 230
13.2.2 设计登录界面 232
13.2.3 UI代码 233
13.2.4 显示登录历史 236
13.2.5 设计历史菜单项 240
13.2.6 实现显示历史的代码 241
13.2.7 selector资源 243
13.2.8 layer_list资源 244
13.2.9 定制控件背景 245
13.2.10 动画显示菜单 246
13.2.11 让菜单消失 247
13.2.12 响应选中菜单项 248
13.3 QQ主页面设计 250
13.3.1 设置导航栏 254
13.3.2 设置Tab栏 255
13.3.3 改变Tab Item图标 258
13.3.4 为ViewPager添加内容 259
13.3.5 ViewPager与TabLayout联动 261
13.3.6 在Tab Item中显示图像 263
13.3.7 禁止ViewPager滑动翻页 266
13.3.8 创建“消息”页 267
13.3.9 显示气泡菜单 274
13.3.10 抽屉效果 293
13.3.11 创建“联系人”页 308
13.3.12 创建“动态”页 328
13.3.13 实现搜索功能 329
第14章 实现聊天界面 339
14.1 实现原理分析 339
14.2 创建聊天Activity 340
14.2.1 activity_chat.xml 340
14.2.2 类ChatActivity 342
14.2.3 显示消息的layout 344
14.3 启动ChatActivity 346
14.4 模拟聊天 347
第15章 多线程 349
15.1 线程与进程的概念 349
15.2 创建线程 350
15.3 创建线程的另一种方法 352
15.4 多个线程操作同一个对象 353
15.5 单线程中异步执行 356
15.6 多线程间同步执行 357
15.7 在其他线程中操作界面 358
15.8 HandlerThread 360
15.9 线程的退出 361
第16章 网络通信 363
16.1 网络基础知识 363
16.1.1 IP地址与域名 363
16.1.2 TCP与UDP 364
16.1.3 HTTP协议 364
16.2 Android HTTP通信 365
16.3 使用“异步任务” 369
16.3.1 定义异步任务类 369
16.3.2 使用异步任务类 370
16.3.3 完善异步任务类 371
16.3.4 异步任务的退出 378
16.4 使用OkHttp进行网络通信 380
16.4.1 使用OkHttp下载图像 381
16.4.2 创建Web服务端 383
16.4.3 使用OkHttp下载数据 385
16.4.4 JSON转对象 387
16.4.5 使用OkHttp上传文件 388
16.5 使用Retrofit进行网络通信 391
16.5.1 加入Retrofit的依赖项 391
16.5.2 用Retrofit下载文本 392
16.5.3 用Retrofit下载图像 393
16.5.4 用Retrofit上传图像 394
第17章 异步调用库RxJava 397
17.1 小试牛刀 397
17.2 精简发送代码 400
17.3 精简接收代码 401
17.4 RxJava与Lamda 402
17.5 map与flatmap 404
17.6 并行map 405
17.7 RxJava与Retrofit合体 406
17.8 RxJava Retrofit合体并行执行 407
第18章 实现聊天功能 409
18.1 改进登录功能 411
18.1.1 制定统一的数据返回结构 411
18.1.2 向ChatService中添加方法 413
18.1.3 登录请求 414
18.1.4 保存自己的信息 417
18.1.5 防止按钮重复点击 418
18.1.6 显示进度条 418
18.2 获取联系人 421
18.2.1 修改Retrofit接口 422
18.2.2 RxJava定时器 422
18.2.3 获取并显示联系人 423
18.2.4 出错重试 425
18.2.5 停止网络连接 425
18.3 发出聊天消息 427
18.3.1 定义承载消息的类 427
18.3.2 在接口中添加方法 428
18.3.3 在ChatActivity中初始化Retrofit 429
18.3.4 上传消息 429
18.3.5 失败重传 431
18.4 获取聊天消息 431
18.4.1 为ChatService增加方法 431
18.4.2 发出请求 431
作者简介
软件开发从业15年编程实战经验,流媒体技术专家,高性能服务器专家。CSDN知名博主。现为IOS、Adroid、C 高级培训讲师。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
情感计算
¥66.8¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥69.3¥99.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥51.8¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥67.4¥89.8 -
LINUX实战——从入门到精通
¥51.8¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥81.8¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8