Android 9编程通俗演义

作者:牛搞

出版:清华大学出版社

年代:2019 更多图书信息

电子纸书:¥53.4 定价: ¥89 纸质书最低¥70.3起,点此购买

图书简介

本书严格参考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
(展开)

书页展示

更多图书信息
数据来源于网络,如有问题,请反馈至此邮箱:service@bookask.com

作者:牛搞
出版:清华大学出版社

ISBN:9787302523932

出版日期:2019-04-01

清华大学出版社

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。作为来自一流大学的出版单位,清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。目前,清华版教材已在全国一百多所院校得到广泛使用。高品质、多层次的计算机图书是清华大学出版社的一大品牌支柱。20世纪80年代末,在席卷全球的信息化浪潮中,清华大学出版社快速切入计算机图书市场,逐渐成为并一直保持这一市场的领先地位,为发展中国计算机教育做出了巨大贡献。

(展开)

使用移动设备
扫描二维码下载客户端

注:目前仅提供安卓客户端下载

Copyright ©2019  BookAsk 书问  |  京ICP证160134号   |  

京公网安备 11010802026432号

  |  出版物经营许可证新出发京零字第海150168号   |  营业执照:91110108318038279C   |  网站地图   |  关于我们   |  合作伙伴   |  商务合作   |  友情链接