- 网页设计
- 整站网页设计
- 网站模板设计
- 网站开发
- 综合门户网开发
- 企业网站开发
- 电子商务网站开发
- 资讯网站开发
- 团购网站开发
- 手机网站开发
- 宣传展示网站
- 网站功能开发
- 网站特效制作
- 应用软件开发
- 手机应用软件
- 计算机应用软件
- 软件美工
- 程序修改
- 仿网站开发
- 脚本插件
- 软件测试
- 网站改版
- 企业办公系统
- 软件汉化
- 软件界面皮肤
- 企业办公系统界面
- 应用移植
- Android开发
- IOS开发
- 应用汉化
- 安卓系统定制
- 网店装修
第一行代码Android 第3版 第三版 郭霖 Android 源码设计模式解析与实战 第2版 android编程教程书籍 移动应用开发教程Studio实战
- 产品名称:计算机程序设计上机指导...
- 书名:
- 计算机程序设计上机指导与习题解答(第四版)(全国高等医药院校药学类实验教材)
- 作者:无
- 定价:25.00元
- 书名:
- 计算机程序设计上机指导与习题解答(第四版)(全国高等医药院校药学类实验教材)
- 是否是套装:否
- 出版社名称:中国医药科技出版社
第壹行代码——Android(第3版)
作者: 郭霖
出版社: 人民邮电出版社
出品方: 图灵教育
出版年: 2020-4
页数: 704
定价: 99.(咨询特价)
装帧: 平装
ISBN: (咨询特价)
内容提要
本书被Android*发者誉为“Android学习第壹书”。全书系统全面、循序渐进地介绍了Android软件开发的bi备知识、经验和技巧。
本书基于Android 10.0对第2版进行了全面更新,不仅将所有知识点都在Android 10.0系统上进行了重新适配,同时加入Kotlin语言的全面讲解,
使用Kotlin对全书代码进行重写,而且还介绍了*新系统特性以及Jetpack架构组件的使用,使本书更加实用。
本书内容通俗易懂,由浅入深,既是Android初学者的入门bi备,也是Android*发者的进阶首*
第 1章 开始启程——你的第 一行
Android代码 1
1.1 了解全貌,Android王国简介 2
1.1.1 Android系统架构 2
1.1.2 Android已发布的版本 3
1.1.3 Android应用开发特色 4
1.2 手把手带你搭建开发环境 5
1.2.1 准备所需要的工具 5
1.2.2 搭建开发环境 5
1.3 创建你的第 一个Android项目 9
1.3.1 创建HelloWorld项目 9
1.3.2 启动模拟器 11
1.3.3 运行HelloWorld 14
1.3.4 分析你的第 一个Android程序 15
1.3.5 详解项目中的资源 20
1.3.6 详解build.gradle文件 22
1.4 前行bi备:掌握日志工具的使用 25
1.4.1 使用Android的日志工具Log 25
1.4.2 为什么使用Log而不使用println() 26
1.5 小结与点评 28
第 2章 探究新语言,快速入门Kotlin
编程 30
2.1 Kotlin语言简介 31
2.2 如何运行Kotlin代码 32
2.3 编程之本:变量和函数 35
2.3.1 变量 35
2.3.2 函数 37
2.4 程序的逻辑控制 41
2.4.1 if条件语句 41
2.4.2 when条件语句 42
2.4.3 循环语句 45
2.5 面向对象编程 48
2.5.1 类与对象 49
2.5.2 继承与构造函数 50
2.5.3 接口 55
2.5.4 数据类与单例类 58
2.6 Lambda编程 61
2.6.1 集合的创建与遍历 61
2.6.2 集合的函数式API 65
2.6.3 Java函数式API的使用 69
2.7 空指针检查 71
2.7.1 可空类型系统 72
2.7.2 判空辅助工具 73
2.8 Kotlin中的小魔术 77
2.8.1 字符串内嵌表达式 77
2.8.2 函数的参数默认值 78
2.9 小结与点评 81
第3章 先从看得到的入手,探究
Activity 82
3.1 Activity是什么 82
3.2 Activity的基本用法 82
3.2.1 手动创建Activity 83
3.2.2 创建和加载布局 85
3.2.3 在AndroidManifest文件中
注册 88
3.2.4 在Activity中使用Toast 90
3.2.5 在Activity中使用Menu 92
3.2.6 销毁一个Activity 96
3.3 使用Intent在Activity之间穿梭 96
3.3.1 使用显式Intent 96
3.3.2 使用隐式Intent 99
3.3.3 更多隐式Intent的用法 101
3.3.4 向下一个Activity传递数据 105
3.3.5 返回数据给上一个Activity 106
3.4 Activity的生命周期 108
3.4.1 返回栈 108
3.4.2 Activity状态 109
3.4.3 Activity的生存期 110
3.4.4 体验Activity的生命周期 111
3.4.5 Activity被回收了怎么办 117
3.5 Activity的启动模式 118
3.5.1 standard 119
3.5.2 singleTop 120
3.5.3 singleTask 122
3.5.4 singleInstance 123
3.6 Activity的*佳实践 126
3.6.1 知晓当前是在哪一个Activity 126
3.6.2 随时随地退出程序 127
3.6.3 启动Activity的*佳写法 129
3.7 Kotlin课堂:标准函数和静态方法 130
3.7.1 标准函数with、run和apply 130
3.7.2 定义静态方法 133
3.8 小结与点评 137
第4章 软件也要拼脸蛋,UI开发的
点点滴滴 138
4.1 该如何编写程序界面 138
4.2 常用控件的使用方法 139
4.2.1 TextView 139
4.2.2 Button 142
4.2.3 EditText 144
4.2.4 ImageView 149
4.2.5 ProgressBar 151
4.2.6 AlertDialog 154
4.3 详解3种基本布局 156
4.3.1 LinearLayout 156
4.3.2 RelativeLayout 163
4.3.3 FrameLayout 166
4.4 系统控件不够用?创建自定义控件 169
4.4.1 引入布局 169
4.4.2 创建自定义控件 172
4.5 *常用和*难用的控件:ListView 174
4.5.1 ListView的简单用法 174
4.5.2 定制ListView的界面 176
4.5.3 提升ListView的运行效率 179
4.5.4 ListView的点击事件 180
4.6 更强大的滚动控件:RecyclerView 182
4.6.1 RecyclerView的基本用法 183
4.6.2 实现横向滚动和瀑布流布局 186
4.6.3 RecyclerView的点击事件 191
4.7 编写界面的*佳实践 193
4.7.1 制作9-Patch图片 193
4.7.2 编写精美的聊天界面 196
4.8 Kotlin课堂:延迟初始化和密封类 201
4.8.1 对变量延迟初始化 201
4.8.2 使用密封类优化代码 204
4.9 小结与点评 206
第5章 平板要兼顾,探究
Fragment 207
5.1 Fragment是什么 207
5.2 Fragment的使用方式 209
5.2.1 Fragment的简单用法 210
5.2.2 动态添加Fragment 212
5.2.3 在Fragment中实现返回栈 215
5.2.4 Fragment和Activity之间的
交互 216
5.3 Fragment的生命周期 217
5.3.1 Fragment的状态和回调 217
5.3.2 体验Fragment的生命周期 219
5.4 动态加载布局的技巧 221
5.4.1 使用限定符 221
5.4.2 使用*小宽度限定符 224
5.5 Fragment的*佳实践:一个简易
版的新闻应用 225
5.6 Kotlin课堂:扩展函数和运算符
重载 234
5.6.1 大有用途的扩展函数 234
5.6.2 有趣的运算符重载 236
5.7 小结与点评 240
第6章 全局大喇叭,详解广播机制 242
6.1 广播机制简介 242
6.2 接收系统广播 243
6.2.1 动态注册监听时间变化 243
6.2.2 静态注册实现开机启动 245
6.3 发送自定义广播 249
6.3.1 发送标准广播 249
6.3.2 发送有序广播 252
6.4 广播的*佳实践:实现强制下线功能 255
6.5 Kotlin课堂:高阶函数详解 261
6.5.1 定义高阶函数 261
6.5.2 内联函数的作用 265
6.5.3 noinline与crossinline 268
6.6 Git时间:初识版本控制工具 271
6.6.1 安装Git 271
6.6.2 创建代码仓库 272
6.6.3 提交本地代码 274
6.7 小结与点评 274
第7章 数据存储全方案,详解
持久化技术 275
7.1 持久化技术简介 275
7.2 文件存储 276
7.2.1 将数据存储到文件中 276
7.2.2 从文件中读取数据 279
7.3 SharedPreferences存储 281
7.3.1 将数据存储到SharedPre-
ferences中 282
7.3.2 从SharedPreferences中读取
数据 284
7.3.3 实现记住密码功能 285
7.4 SQLite数据库存储 288
7.4.1 创建数据库 289
7.4.2 升级数据库 295
7.4.3 添加数据 297
7.4.4 更新数据 300
7.4.5 删除数据 302
7.4.6 查询数据 304
7.4.7 使用SQL操作数据库 307
7.5 SQLite数据库的*佳实践 307
7.5.1 使用事务 308
7.5.2 升级数据库的*佳写法 309
7.6 Kotlin课堂:高阶函数的应用 312
7.6.1 简化SharedPreferences的用法 312
7.6.2 简化ContentValues的用法 314
7.7 小结与点评 317
第8章 跨程序共享数据,探究ContentProvider 318
8.1 ContentProvider简介 318
8.2 运行时权限 319
8.2.1 Android权限机制详解 319
8.2.2 在程序运行时申请权限 322
8.3 访问其他程序中的数据 326
8.3.1 ContentResolver的基本用法 326
8.3.2 读取系统 329
8.4 创建自己的ContentProvider 332
8.4.1 创建ContentProvider的步骤 332
8.4.2 实现跨程序数据共享 336
8.5 Kotlin课堂:泛型和委托 345
8.5.1 泛型的基本用法 345
8.5.2 类委托和委托属性 347
8.5.3 实现一个自己的lazy函数 350
8.6 小结与点评 352
第9章 丰富你的程序,运用
多媒体 353
9.1 将程序运行到上 353
9.2 使用通知 355
9.2.1 创建通知渠道 355
9.2.2 通知的基本用法 357
9.2.3 通知的进阶技巧 362
9.3 调用摄像头和相册 367
9.3.1 调用摄像头拍照 367
9.3.2 从相册中选择图片 371
9.4 播放多媒体文件 374
9.4.1 播放音频 374
9.4.2 播放视频 377
9.5 Kotlin课堂:使用infix函数构建
更可读的语法 381
9.6 Git时间:版本控制工具进阶 383
9.6.1 忽略文件 384
9.6.2 查看修改内容 385
9.6.3 撤销未提交的修改 387
9.6.4 查看提交记录 388
9.7 小结与点评 389
第 10章 后台默默的劳动者,探究
Service 390
10.1 Service是什么 390
10.2 Android多线程编程 391
10.2.1 线程的基本用法 391
10.2.2 在子线程中更新UI 392
10.2.3 解析异步消息处理机制 395
10.2.4 使用AsyncTask 396
10.3 Service的基本用法 399
10.3.1 定义一个Service 399
10.3.2 启动和停止Service 401
10.3.3 Activity和Service进行
通信 404
10.4 Service的生命周期 408
10.5 Service的更多技巧 408
10.5.1 使用前台Service 409
10.5.2 使用IntentService 411
10.6 Kotlin课堂:泛型的高ji特性 415
10.6.1 对泛型进行实化 415
10.6.2 泛型实化的应用 417
10.6.3 泛型的协变 418
10.6.3 泛型的逆变 422
10.7 小结与点评 425
第 11章 看看精彩的世界,使用网络
技术 427
11.1 WebView的用法 427
11.2 使用HTTP访问网络 429
11.2.1 使用HttpURLConnection 430
11.2.2 使用OkHttp 433
11.3 解析XML格式数据 436
11.3.1 Pull解析方式 438
11.3.2 SAX解析方式 441
11.4 解析JSON格式数据 444
11.4.1 使用JSONObject 445
11.4.2 使用GSON 446
11.5 网络请求回调的实现方式 448
11.6 *好用的网络库:Retrofit 451
11.6.1 Retrofit的基本用法 452
11.6.2 处理复杂的接口地址类型 456
11.6.3 Retrofit构建器的*佳写法 459
11.7 Kotlin课堂:使用协程编写gao效的
并发程序 461
11.7.1 协程的基本用法 461
11.7.2 更多的作用域构建器 467
11.7.3 使用协程简化回调的写法 471
11.8 小结与点评 474
第 12章 *佳的UI体验,Material
Design实战 475
12.1 什么是Material Design 475
12.2 Toolbar 476
12.3 滑动菜单 483
12.3.1 DrawerLayout 483
12.3.2 NavigationView 486
12.4 悬浮按钮和可交互提示 491
12.4.1 FloatingActionButton 491
12.4.2 Snackbar 494
12.4.3 CoordinatorLayout 496
12.5 卡片式布局 498
12.5.1 MaterialCardView 498
12.5.2 AppBarLayout 504
12.6 下拉刷新 507
12.7 可折叠式标题栏 510
12.7.1 CollapsingToolbarLayout 510
12.7.2 充分利用系统状态栏空间 519
12.8 Kotlin课堂:编写好用的工具方法 522
12.8.1 求N个数的*大*小值 522
12.8.2 简化Toast的用法 524
12.8.3 简化Snackbar的用法 526
12.9 Git时间:版本控制工具的高ji
用法 528
12.9.1 分支的用法 528
12.9.2 与远程版本库协作 530
(咨询特价) 小结与点评 532
第 13章 高ji程序开发组件,探究
Jetpack 533
13.1 Jetpack简介 533
13.2 ViewModel 534
13.2.1 ViewModel的基本用法 536
13.2.2 向ViewModel传递参数 539
13.3 Lifecycles 541
13.4 LiveData 545
13.4.1 LiveData的基本用法 545
13.4.2 map和switchMap 549
13.5 Room 554
13.5.1 使用Room进行増删改查 555
13.5.2 Room的数据库升级 562
13.6 WorkManager 565
13.6.1 WorkManager的基本用法 566
13.6.2 使用WorkManager处理
复杂的任务 568
13.7 Kotlin课堂:使用DSL构建专有的
语法结构 571
13.8 小结与点评 577
第 14章 继续进阶,你还应该掌握的
高ji技巧 579
14.1 全局获取Context的技巧 579
14.2 使用Intent传递对象 582
14.2.1 Serializable方式 582
14.2.2 Parcelable方式 583
14.3 定制自己的日志工具 584
14.4 调试Android程序 586
14.5 深色主题 589
14.6 Kotlin课堂:Java与Kotlin代码
之间的转换 596
14.7 总结 600
第 15章 进入实战,开发一个天气
预报App 601
15.1 功能需求及技术可行性分析 601
15.2 Git时间:将代码托管到GitHub上 605
15.3 搭建MVVM项目架构 612
15.4 搜索全球城市数据 615
15.4.1 实现逻辑层代码 615
15.4.2 实现UI层代码 620
15.5 显示天气信息 626
15.5.1 实现逻辑层代码 626
15.5.2 实现UI层代码 631
15.5.3 记录选中的城市 645
15.6 手动刷新天气和切换城市 647
15.6.1 手动刷新天气 648
15.6.2 切换城市 650
15.7 制作App的图标 654
15.8 生成正式签名的APK文件 659
15.8.1 使用Android Studio生成 660
15.8.2 使用Gradle生成 663
15.9 你还可以做的事情 666
第 16章 编写并发布一个开源库,PermissionX 669
16.1 开发前的准备工作 669
16.2 实现PermissionX开源库 673
16.3 对开源库进行测试 678
16.4 将开源库发布到jcenter仓库 681
16.5 体验我们的成果 688
16.6 结束语 691
Android 源码设计模式解析与实战(第2版)
作者: 何红辉 / 关爱民
出版社: 人民邮电出版社
出版年: 2017-7
页数: 572
定价: 99
装帧: 平装
ISBN: (咨询特价)
内 容 提 要 本书专门介绍Android源代码的设计模式,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。
本书的主要内容为:优化代码的DIYI步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、
原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、
模板方法模式、访问者模式、中介者模式、代理模式、组合模式、适配器模式、装饰模式、享模式、外观模式、桥接模式,以及MVC的介绍与实战和MVP应用架构模式。
每个章节都对某个模式做了深入分析,并且会对模式相关的技术点进行深入拓展,让读者在掌握模式的同时学习到Android中的一些重要知识,
通过实战帮助读者达到学以致用的目的,且能够将模式运用于项目中,开发出高质量的程序。 本书适合的读者为初、中、高jiAndroid工程师,
也可以作为大专院校相关师生的学习用书和培训学校的教材。
第壹章 走向灵活软件之路——
面向对象的六大原则 1
1.1 优化代码的DIYI步——单一职责原则 1
1.2 让程序更稳定、更灵活——开闭原则 5
1.3 构建扩展性更好的系统——
里氏替换原则 12
1.4 让项目拥有变化的能力——
依赖倒置原则 14
1.5 系统有更高的灵活性——
接口隔离原则 16
1.6 更好的可扩展性——迪米特原则 19
1.7 小结 23
第2章 应用ZUI广的模式——单例模式 24
2.1 单例模式介绍 24
2.2 单例模式的定义 24
2.3 单例模式的使用场景 24
2.4 单例模式UML类图 24
2.5 单例模式的简单示例 25
2.6 单例模式的其他实现方式 27
2.6.1 懒汉模式 27
2.6.2 Double Check Lock (DCL)实现
单例 27
2.6.3 静态内部类单例模式 28
2.6.4 枚举单例 29
2.6.5 使用容器实现单例模式 30
2.7 Android源码中的单例模式 30
2.8 无名英雄——深入理解LayoutInflater 34
2.9 运用单例模式 41
(咨询特价) 小结 43
第3章 自由扩展你的项目——
Builder模式 44
3.1 Builder模式介绍 44
3.2 Builder模式的定义 44
3.3 Builder模式的使用场景 44
3.4 Builder模式的UML类图 44
3.5 Builder模式的简单实现 45
3.6 Android源码中的Builder模式实现 47
3.7 深入了解WindowManager 53
3.8 Builder模式实战 60
3.9 小结 65
第4章 使程序运行更gao效——原型模式 66
4.1 原型模式介绍 66
4.2 原型模式的定义 66
4.3 原型模式的使用场景 66
4.4 原型模式的UML类图 66
4.5 原型模式的简单实现 67
4.6 浅拷贝和深拷贝 69
4.7 Android源码中的原型模式实现 72
4.8 Intent的查找与匹配 74
4.8.1 App信息表的构建 74
4.8.2 精que匹配 80
4.9 原型模式实战 83
(咨询特价) 小结 85
第5章 应用ZUI广泛的模式——
工厂方法模式 87
5.1 工厂方法模式介绍 87
5.2 工厂方法模式的定义 87
5.3 工厂方法模式的使用场景 87
5.4 工厂方法模式的UML类图 87
5.5 模式的简单实现 90
5.6 Android源码中的工厂方法模式实现 93
5.7 关于onCreate方法 95
5.8 工厂方法模式实战 102
5.9 小结 105
第6章 创建型设计模式——
抽象工厂模式 106
6.1 抽象工厂模式介绍 106
6.2 抽象工厂模式的定义 106
6.3 抽象工厂模式的使用场景 106
6.4 抽象工厂模式的UML类图 106
6.5 抽象工厂方法模式的简单实现 109
6.6 Android源码中的抽象工厂方法模式
实现 112
6.7 抽象工厂模式在Android开发中的
应用 116
6.8 小结 120
第7章 时势造英雄——策略模式 121
7.1 策略模式介绍 121
7.2 策略模式的定义 121
7.3 策略模式的使用场景 121
7.4 策略模式的UML类图 122
7.5 策略模式的简单实现 122
7.6 Android源码中的策略模式实现 127
7.6.1 时间插值器 127
7.6.2 动画中的时间插值器 128
7.7 深入属性动画 132
7.7.1 属性动画体系的总体设计 132
7.7.2 属性动画的核心类介绍 132
7.7.3 基本使用 133
7.7.4 流程图 134
7.7.5 详细设计 135
7.7.6 核心原理分析 135
7.8 策略模式实战应用 146
7.9 小结 148
第8章 随遇而安——状态模式 149
8.1 状态模式介绍 149
8.2 状态模式的定义 149
8.3 状态模式的使用场景 149
8.4 状态模式的UML类图 149
8.5 状态模式的简单示例 150
8.6 Wi-Fi管理中的状态模式 154
8.7 状态模式实战 163
8.8 小结 168
第9章 使编程更有灵活性——
责任链模式 169
9.1 责任链模式介绍 169
9.2 责任链模式的定义 169
9.3 责任链模式的使用场景 169
9.4 责任链模式的UML类图 169
9.5 责任链模式的简单实现 174
9.6 Android源码中的责任链模式实现 177
9.7 责任链模式实战 182
9.8 小结 185
第壹0章 化繁为简的翻译机——
解释器模式 186
10.1 解释器模式介绍 186
10.2 解释器模式的定义 186
10.3 解释器模式的使用场景 187
10.4 解释器模式的UML类图 188
10.5 解释器模式的简单实现 189
10.6 Android源码中的解释器模式实现 193
10.7 关于PackageManagerService 199
10.8 小结 207
第壹1章 让程序畅通执行——命令模式 208
11.1 命令模式介绍 208
11.2 命令模式的定义 208
11.3 命令模式的使用场景 208
11.4 命令模式的UML类图 208
11.5 命令模式的简单实现 211
11.6 Android源码中的命令模式实现 215
11.7 Android事件输入系统介绍 218
11.8 命令模式实战 220
11.9 小结 227
第壹2章 解决解耦的钥匙——
观察者模式 228
12.1 观察者模式介绍 228
12.2 观察者模式的定义 228
12.3 观察者模式的使用场景 228
12.4 观察者模式的UML类图 228
12.5 观察者模式的简单实现 229
12.6 Android源码分析 231
12.7 观察者模式的深入拓展 234
12.8 实战 242
12.9 小结 249
第壹3章 编程中的“后悔药”——
备忘录模式 251
13.1 备忘录模式介绍 251
13.2 备忘录模式的定义 251
13.3 备忘录模式的使用场景 251
13.4 备忘录模式的UML类图 251
13.5 备忘录模式的简单示例 252
13.6 Android源码中的备忘录模式 254
13.7 深度拓展 261
13.7.1 onSaveInstanceState调用的
时机 261
13.7.2 使用V4包存储状态的bug 261
13.8 实战 264
13.9 小结 271
第壹4章 解决问题的“第三者”——
迭代器模式 272
14.1 迭代器模式介绍 272
14.2 迭代器模式的定义 272
14.3 迭代器模式的使用场景 272
14.4 迭代器模式的UML类图 272
14.5 模式的简单实现 275
14.6 Android源码中的模式实现 279
14.7 小结 281
第壹5章 抓住问题核心——
模板方法模式 282
15.1 模板方法模式介绍 282
15.2 模板方法模式的定义 282
15.3 模板方法模式的使用场景 282
15.4 模板方法模式的UML类图 282
15.5 模板方法模式的简单示例 283
15.6 Android源码中的模板方法模式 285
15.7 深度拓展 287
15.8 模板方法实战 300
15.9 小结 303
第壹6章 访问者模式 305
16.1 访问者模式介绍 305
16.2 访问者模式的定义 305
16.3 访问者模式的使用场景 305
16.4 访问者模式的UML类图 305
16.5 访问者模式的简单示例 306
16.6 Android源码中的模式 311
16.7 访问者模式实战 314
16.8 小结 320
第壹7章 “和事佬”——中介者模式 321
17.1 中介者模式介绍 321
17.2 中介者模式的定义 322
17.3 中介者模式的使用场景 322
17.4 中介者模式的UML类图 322
17.5 中介者模式的简单实现 324
17.6 Android源码中的中介者模式实现 328
17.7 中介者模式实战 330
17.8 小结 333
第壹8章 编程好帮手——代理模式 334
18.1 代理模式介绍 334
18.2 代理模式的定义 334
18.3 代理模式的使用场景 334
18.4 代理模式的UML类图 334
18.5 代理模式的简单实现 336
18.6 Android源码中的代理模式实现 340
18.7 Android中的Binder跨进程通信机制
与AIDL 344
18.8 代理模式实战 355
18.9 小结 359
第壹9章 物以类聚——组合模式 360
19.1 组合模式介绍 360
19.2 组合模式的定义 361
19.3 组合模式的使用场景 361
19.4 组合模式的UML类图 361
19.5 组合模式的简单实现 367
19.6 Android源码中的模式实现 371
19.7 为什么ViewGroup有容器的功能 372
19.8 小结 374
第20章 得心应手的“粘合剂”——适配器
模式 375
20.1 适配器模式介绍 375
20.2 适配器模式的定义 375
20.3 适配器模式的使用场景 375
20.4 适配器模式的UML类图 375
20.5 适配器模式应用的简单示例 376
20.5.1 类适配器模式 376
20.5.2 对象适配器模式 377
20.6 Android源码中的适配器模式 379
20.7 深度拓展 385
20.8 实战演示 398
20.9 小结 407
第21章 装饰模式 408
21.1 装饰模式介绍 408
21.2 装饰模式的定义 408
21.3 装饰模式的使用场景 408
21.4 装饰模式的UML类图 408
21.5 模式的简单实现 411
21.6 Android源码中的模式实现 413
21.7 Context与ContextImpl 415
21.8 模式实战 423
21.9 小结 424
第22章 对象共享,避免创建多对象——
享模式 425
22.1 享模式介绍 425
22.2 享模式定义 425
22.3 享模式的使用场景 425
22.4 享模式的UML类图 425
22.5 享模式的简单示例 426
22.6 Android源码中的享模式 429
22.7 深度拓展 434
22.7.1 深入了解Android的消息
机制 434
22.7.2 子线程中创建Handler为何会抛出异常 443
22.8 小结 444
第23章 统一编程接口——外观模式 445
23.1 外观模式介绍 445
23.2 外观模式定义 445
23.3 外观模式的使用场景 445
23.4 外观模式的UML类图 445
23.5 外观模式的简单示例 446
23.6 Android源码中的外观模式 448
23.7 深度拓展 452
23.7.1 Android资源的加载与匹配 452
23.7.2 动态加载框架的实现 459
23.8 外观模式实战 466
23.9 小结 468
第24章 连接两地的交通枢钮——
桥接模式 470
24.1 桥接模式介绍 470
24.2 桥接模式的定义 470
24.3 桥接模式的使用场景 470
24.4 桥接模式的UML类图 470
24.5 桥接模式的简单实现 472
24.6 Android源码中的桥接模式实现 475
24.7 关于WindowManagerService 476
24.8 桥接模式实战 484
24.9 小结 487
第25章 MVC的介绍与实战 488
25.1 MVC的历史与结构的演化 488
25.2 MVC的应用浅析 494
25.3 MVC在Android中的实现 499
25.4 MVC框架模式与设计模式 503
第26章 MVP应用架构模式 504
26.1 MVP模式介绍 504
26.2 MVP模式的三个角色 505
26.3 NavigationView中的MVP模式 505
26.4 MVP的实现 513
26.5 MVP与Activity、Fragment的生命
周期 517
第27章 MVVM应用浅析 520
27.1 MVVM模式介绍 520
27.2 MVVM的基本结构 521
27.3 View与ViewModel之间的交互 522
27.4 MVVM在Android中的应用与DataBinding使用浅析 523
27.5 MVVM的优缺点 530
27.6 MVC、MVP与MVVM的异同 530
27.7 小结 531
第28章 易混淆的设计模式 532
28.1 简单工厂、工厂方法、抽象工厂、
Builder模式的区别 532
28.2 代理与装饰模式、桥接模式 538
28.3 外观模式与中介模式 543
28.4 策略与状态模式、命令模式 547
28.5 结束语 553
-
最近销售:0 掌柜:济南新华书店图书音像专营¥144 元