正版全新  区域 Android开发艺术探索+Android 源码设计模式解析与实战 第2版pdf下载

正版全新 区域 Android开发艺术探索+Android 源码设计模式解析与实战 第2版百度网盘pdf下载

作者:
简介:正版全新 区域 Android开发艺术探索+Android 源码设计模式解析与实战 第2版
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍


bm004464

Android 源码设计模式解析与实战 第2版+Android开发艺术探索 2本

9787115452962定价:99元  9787121269394定价:79元

  图书基本信息
图书名称 Android开发艺术探索 作者 任玉刚
定价 79.00元 出版社 电子工业出版社
ISBN 9787121269394 出版日期 2015-09-01
字数 733000 页码 507
版次 1 装帧 平装
开本 16开 商品重量 0.4Kg

   内容简介
本书是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。本书从三个方面来组织内容。**,介绍Android开发者不容易掌握的一些知识点;第二,结合Android源代码和应用层开发过程,融会贯通,介绍一些比较深入的知识点;第三,介绍一些核心技术和Android的性能优化思想。

   作者简介

   目录
第1章 Activity的生命周期和启动模式 / 1
1.1 Activity的生命周期全面分析 / 1
1.1.1 典型情况下的生命周期分析 / 2
1.1.2 异常情况下的生命周期分析 / 8
1.2 Activity的启动模式 / 16
1.2.1 Activity的LaunchMode / 16
1.2.2 Activity的Flags / 27
1.3 IntentFilter的匹配规则 / 28
第2章 IPC机制 / 35
2.1 Android IPC简介 / 35
2.2 Android中的多进程模式 / 36
2.2.1 开启多进程模式 / 36
2.2.2 多进程模式的运行机制 / 39
2.3 IPC基础概念介绍 / 42
2.3.1 Serializable接口 / 42
2.3.2 Parcelable接口 / 45
2.3.3 Binder / 47
2.4 Android中的IPC方式 / 61
2.4.1 使用Bundle / 61
2.4.2 使用文件共享 / 62
2.4.3 使用Messenger / 65
2.4.4 使用AIDL / 71
2.4.5 使用ContentProvider / 91
2.4.6 使用Socket / 103
2.5 Binder连接池 / 112
2.6 选用合适的IPC方式 / 121
第3章 View的事件体系 / 122
3.1 View基础知识 / 122
3.1.1 什么是View / 123
3.1.2 View的位置参数 / 123
3.1.3 MotionEvent和TouchSlop / 125
3.1.4 VelocityTracker、GestureDetector和Scroller / 126
3.2 View的滑动 / 129
3.2.1 使用scrollTo/scrollBy / 129
3.2.2 使用动画 / 131
3.2.3 改变布局参数 / 133
3.2.4 各种滑动方式的对比 / 133
3.3 弹性滑动 / 135
3.3.1 使用Scroller / 136
3.3.2 通过动画 / 138
3.3.3 使用延时策略 / 139
3.4 View的事件分发机制 / 140
3.4.1 点击事件的传递规则 / 140
3.4.2 事件分发的源码解析 / 144
3.5 View的滑动冲突 / 154
3.5.1 常见的滑动冲突场景 / 155
3.5.2 滑动冲突的处理规则 / 156
3.5.3 滑动冲突的解决方式 / 157
第4章 View的工作原理 / 174
4.1 初识ViewRoot和DecorView / 174
4.2 理解MeasureSpec / 177
4.2.1 MeasureSpec / 177
4.2.2 MeasureSpec和LayoutParams的对应关系 / 178
4.3 View的工作流程 / 183
4.3.1 measure过程 / 183
4.3.2 layout过程 / 193
4.3.3 draw过程 / 197
4.4 自定义View / 199
4.4.1 自定义View的分类 / 200
4.4.2 自定义View须知 / 201
4.4.3 自定义View示例 / 202
4.4.4 自定义View的思想 / 217
第5章 理解RemoteViews / 218
5.1 RemoteViews的应用 / 218
5.1.1 RemoteViews在通知栏上的应用 / 219
5.1.2 RemoteViews在桌面小部件上的应用 / 221
5.1.3 PendingIntent概述 / 228
5.2 RemoteViews的内部机制 / 230
5.3 RemoteViews的意义 / 239
第6章 Android的Drawable / 243
6.1 Drawable简介 / 243
6.2 Drawable的分类 / 244
6.2.1 BitmapDrawable / 244
6.2.2 ShapeDrawable / 247
6.2.3 LayerDrawable / 251
6.2.4 StateListDrawable / 253
6.2.5 LevelListDrawable / 255
6.2.6 TransitionDrawable / 256
6.2.7 InsetDrawable / 257
6.2.8 ScaleDrawable / 258
6.2.9 ClipDrawable / 260
6.3 自定义Drawable / 262
第7章 Android动画深入分析 / 265
7.1 View动画 / 265
7.1.1 View动画的种类 / 265
7.1.2 自定义View动画 / 270
7.1.3 帧动画 / 272
7.2 View动画的特殊使用场景 / 273
7.2.1 LayoutAnimation / 273
7.2.2 Activity的切换效果 / 275
7.3 属性动画 / 276
7.3.1 使用属性动画 / 276
7.3.2 理解插值器和估值器 / 280
7.3.3 属性动画的器 / 282
7.3.4 对任意属性做动画 / 282
7.3.5 属性动画的工作原理 / 288
7.4 使用动画的注意事项 / 292
第8章 理解Window和WindowManager / 294
8.1 Window和WindowManager / 294
8.2 Window的内部机制 / 297
8.2.1 Window的添加过程 / 298
8.2.2 Window的删除过程 / 301
8.2.3 Window的更新过程 / 303
8.3 Window的创建过程 / 304
8.3.1 Activity的Window创建过程 / 304
8.3.2 Dialog的Window创建过程 / 308
8.3.3 Toast的Window创建过程 / 311
第9章 四大组件的工作过程 / 316
9.1 四大组件的运行状态 / 316
9.2 Activity的工作过程 / 318
9.3 Service的工作过程 / 336
9.3.1 Service的启动过程 / 336
9.3.2 Service的绑定过程 / 344
9.4 BroadcastReceiver的工作过程 / 352
9.4.1 广播的注册过程 / 353
9.4.2 广播的发送和接收过程 / 356
9.5 ContentProvider的工作过程 / 362
第10章 Android的消息机制 / 372
10.1 Android的消息机制概述 / 373
10.2 Android的消息机制分析 / 375
10.2.1 ThreadLocal的工作原理 / 375
10.2.2 消息队列的工作原理 / 380
10.2.3 Looper的工作原理 / 383
10.2.4 Handler的工作原理 / 385
10.3 主线程的消息循环 / 389
第11章 Android的线程和线程池 / 391
11.1 主线程和子线程 / 392
11.2 Android中的线程形态 / 392
11.2.1 AsyncTask / 392
11.2.2 AsyncTask的工作原理 / 395
11.2.3 HandlerThread / 402
11.2.4 IntentService / 403
11.3 Android中的线程池 / 406
11.3.1 ThreadPoolExecutor / 407
11.3.2 线程池的分类 / 410
第12章 Bitmap的加载和Cache / 413
12.1 Bitmap的高效加载 / 414
12.2 Android中的缓存策略 / 417
12.2.1 LruCache / 418
12.2.2 DiskLruCache / 419
12.2.3 ImageLoader的实现 / 424
12.3 ImageLoader的使用 / 441
12.3.1 照片墙效果 / 441
12.3.2 优化列表的卡顿现象 / 446
第13章 综合技术 / 448
13.1 使用CrashHandler来获取应用的crash信息 / 449
13.2 使用multidex来解决方法数越界 / 455
13.3 Android的动态加载技术 / 463
13.4 反编译初步 / 469
13.4.1 使用dex2jar和-gui反编译apk / 470
13.4.2 使用apktool对apk进行二次打包 / 470
第14章 JNI和NDK编程 / 473
14.1 JNI的开发流程 / 474
14.2 NDK的开发流程 / 478
14.3 JNI的数据类型和类型签名 / 484
14.4 JNI调用Java方法的流程 / 486
第15章 Android性能优化 / 489
15.1 Android的性能优化方法 / 490
15.1.1 布局优化 / 490
15.1.2 绘制优化 / 493
15.1.3 内存泄露优化 / 493
15.1.4 响应速度优化和ANR日志分析 / 496
15.1.5 ListView和Bitmap优化 / 501


Android 源码设计模式解析与实战 第2版

基本信息


  • 出版社: 人民邮电出版社
  • ISBN:9787115452962
  • 版次:02
  • 商品编码:12113187
  • 品牌:异步图书
  • 包装:平装
  • 开本:16开
  • 出版时间:2017-06-01
  • 用纸:胶版纸
  • 页数:553
  • 正文语种:中文

内容简介


 本书专门介绍Android源代码的设计模式,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。本书的主要内容为:优化代码的步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、模板方法模式、访问者模式、中介者模式、代理模式、组合模式、适配器模式、装饰模式、享元模式、外观模式、桥接模式,以及MVC的介绍与实战和MVP应用架构模式。每个章节都对某个模式做了深入分析,并且会对模式相关的技术点进行深入拓展,让读者在掌握模式的同时学习到Android中的一些重要知识,通过实战帮助读者达到学以致用的目的,且能够将模式运用于项目中,开发出高质量的程序。

  本书适合的读者为初、中、Android工程师,也可以作为大专院校相关师生的学习用书和培训学校的教材。


目录


第1章 走向灵活软件之路——
面向对象的六大原则 1
1.1 优化代码的步——单一职责原则 1
1.2 让程序更稳定、更灵活——开闭原则 5
1.3 构建扩展性更好的——
里氏替换原则 12
1.4 让项目拥有变化的能力——
依赖倒置原则 14
1.5 有更高的灵活性——
接口隔离原则 16
1.6 更好的可扩展性——迪米特原则 19
1.7 小结 23
第2章 应用广的模式——单例模式 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
2.10 小结 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章 使程序运行更高效——原型模式 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 匹配 80
4.9 原型模式实战 83
4.10 小结 85
第5章 应用广泛的模式——
工厂方法模式 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
第10章 化繁为简的翻译机——
解释器模式 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
第11章 让程序畅通执行——命令模式 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
第12章 解决解耦的钥匙——
观察者模式 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
第13章 编程中的“后悔药”——
备忘录模式 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
第14章 解决问题的“第三者”——
迭代器模式 272
14.1 迭代器模式介绍 272
14.2 迭代器模式的定义 272
14.3 迭代器模式的使用场景 272
14.4 迭代器模式的UML类图 272
14.5 模式的简单实现 275
14.6 Android源码中的模式实现 279
14.7 小结 281
第15章 抓住问题核心——
模板方法模式 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
第16章 访问者模式 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
第17章 “和事佬”——中介者模式 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
第18章 编程好帮手——代理模式 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
第19章 物以类聚——组合模式 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



^_^:e06f6436320c89adda993218cee440b8