搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Android进阶之光
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121315305
  • 作      者:
    刘望舒著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2017
收藏
编辑推荐

1 业界知名专家邓凡平、张鸿洋、徐宜生、陈国华、李文东联袂力荐

2 《Android进阶之光》基于Android 7.0和Android Studio,对Android开发进阶要点进行深入讲解,为工程师的进阶之路带来指引和光明。

3 《Android进阶之光》是目前市场上详细介绍有关Android新特性、Material Design、网络框架、事件总线、RxJava、依赖注入框架和应用架构设计的难得一见的图书。


展开
作者简介

  刘望舒

  Android高级工程师,拥有多年开发和技术管理经验,对Android框架层及应用层开发有着深入的理解。热爱技术和分享,连续6年在CSDN发表技术文章,有多篇文章广受好评,并被授予CSDN博客专家称号。此外,他还活跃在简书和掘金。曾在多家知名公司从事Android开发。


展开
内容介绍

    本书是一本Android进阶类书籍,书中各知识点由浅入深、环环相扣,最终这些知识点形成了一个体系结构。本书共分为11章。第1章介绍Android 5.0到Android 7.0的新特性。第2章介绍Material Design。第3章介绍View体系,包括View的事件分发、工作流程、自定义View等知识点。第4章介绍多线程的知识。第5章介绍网络编程与网络框架的知识。第6章介绍常用的设计模式。第7章介绍事件总线。第8到第10章介绍架构设计所需要的知识点。第11章简单介绍Android系统框架与MediaPlayer框架。本书详细并深入讲解Android开发者必备的和前沿的知识,适合有一定开发基础的开发者阅读,这有助于他们提高技术水平;同时,本书系统的知识体系结构也令高级开发者从中获益良多。

展开
精彩书评

  App开发是讲究框架使用的,但众多框架层出不穷、各有特色,它们适合什么场景,到底怎么用?相信这本书会给读者一个满意的答案。

  ——邓凡平


  一本基础知识讲解环环相扣、主流框架分析刨根究底的书,可以让你获益匪浅。 

  ——张鸿洋


  Android进阶之路,本书照耀你前行。作为学习者的指路明灯,本书一定会令你事半功倍。

  ——徐宜生,《Android群英传》作者


  目前Android开发市场逐渐开始饱和,面对激烈的竞争,Android开发者迫切需要一本进阶书。而本书的内容成体系化、环环相扣,对新技术、新框架和常用的技术都有着深入的讲解,正是Android开发者需要的那本难得一见的进阶书。   

  ——陈国华,Android资深工程师


  从Android*一个版本到现在已经近10年了,Android在手机操作系统领域早已超过了半壁江山,这自然也吸引了成千上万的开发者。开发者迫切需要“老猿”的指点迷津。本书的作者为从业多年的资深开发者,自然有和别人不一样的体验与心得。相信读者在读完本书之后,一定会有豁然开朗的感觉。 

  ——李文东,趣皮士科技联合创始人&CTO


展开
目录

第1章 Android新特性 1
1.1 Android 5.0新特性 1
1.1.1 Android 5.0主要新特性概述 1
1.1.2 替换ListView和GridView的RecyclerView 3
1.1.3 卡片CardView 13
1.1.4 3种Notification 18
1.1.5 Toolbar与Palette 23
1.2 Android 6.0新特性 29
1.2.1 Android 6.0主要新特性概述 29
1.2.2 运行时权限机制 30
1.3 Android 7.0新特性 43
1.3.1 Android 7.0主要新特性概述 43
1.3.2 多窗口模式 44
1.4 本章小结 47
第2章 Material Design 48
2.1 Material Design概述 48
2.1.1 核心思想 48
2.1.2 材质与空间 49
2.1.3 动画 49
2.1.4 样式 50
2.1.5 图标 51
2.1.6 图像 51
2.1.7 组件 51
2.2 Design Support Library常用控件详解 54
2.2.1 Snackbar的使用 54
2.2.2 用TextInputLayout实现登录界面 55
2.2.3 FloatingActionButton的使用 60
2.2.4 用TabLayout实现类似网易选项卡的动态滑动效果 61
2.2.5 用NavigationView实现抽屉菜单界面 68
2.2.6 用CoordinatorLayout实现Toolbar隐藏和折叠 74
2.3 本章小结 86
第3章 View体系与自定义View 87
3.1 View与ViewGroup 87
3.2 坐标系 89
3.2.1 Android坐标系 89
3.2.2 View坐标系 90
3.3 View的滑动 91
3.3.1 layout()方法 92
3.3.2 offsetLeftAndRight()与offsetTopAndBottom() 94
3.3.3 LayoutParams(改变布局参数) 95
3.3.4 动画 95
3.3.5 scrollTo与scollBy 96
3.3.6 Scroller 98
3.4 属性动画 99
3.5 解析Scroller 105
3.6 View的事件分发机制 108
3.6.1 源码解析Activity的构成 108
3.6.2 源码解析View的事件分发机制 112
3.7 View的工作流程 119
3.7.1 View的工作流程入口 119
3.7.2 理解MeasureSpec 122
3.7.3 View的measure流程 126
3.7.4 View的layout流程 132
3.7.5 View的draw流程 135
3.8 自定义View 139
3.8.1 继承系统控件的自定义View 140
3.8.2 继承View的自定义View 141
3.8.3 自定义组合控件 147
3.8.4 自定义ViewGroup 152
3.9 本章小结 164
第4章 多线程编程 165
4.1 线程基础 165
4.1.1 进程与线程 165
4.1.2 线程的状态 167
4.1.3 创建线程 168
4.1.4 理解中断 170
4.1.5 安全地终止线程 171
4.2 同步 173
4.2.1 重入锁与条件对象 173
4.2.2 同步方法 175
4.2.3 同步代码块 176
4.2.4 volatile 177
4.3 阻塞队列 183
4.3.1 阻塞队列简介 183
4.3.2 Java中的阻塞队列 184
4.3.3 阻塞队列的实现原理 186
4.3.4 阻塞队列的使用场景 188
4.4 线程池 190
4.4.1 ThreadPoolExecutor 190
4.4.2 线程池的处理流程和原理 192
4.4.3 线程池的种类 193
4.5 AsyncTask的原理 197
4.6 本章小结 203
第5章 网络编程与网络框架 204
5.1 网络分层 204
5.2 TCP的三次握手与四次挥手 205
5.3 HTTP协议原理 207
5.3.1 HTTP简介 207
5.3.2 HTTP请求报文 208
5.3.3 HTTP响应报文 209
5.3.4 HTTP的消息报头 210
5.3.5 抓包应用举例 211
5.4 HttpClient与HttpURLConnection 212
5.4.1 HttpClient 212
5.4.2 HttpURLConnection 216
5.5 解析Volley 218
5.5.1 Volley基本用法 218
5.5.2 源码解析Volley 223
5.6 解析OkHttp 231
5.6.1 OkHttp基本用法 232
5.6.2 源码解析OkHttp 240
5.7 解析Retrofit 255
5.7.1 Retrofit基本用法 255
5.7.2 源码解析Retrofit 261
5.8 本章小结 270
第6章 设计模式 271
6.1 设计模式六大原则 271
6.2 设计模式分类 273
6.3 创建型设计模式 273
6.3.1 单例模式 274
6.3.2 简单工厂模式 277
6.3.3 工厂方法模式 279
6.3.4 建造者模式 281
6.4 结构型设计模式 284
6.4.1 代理模式 285
6.4.2 装饰模式 288
6.4.3 外观模式 291
6.4.4 享元模式 295
6.5 行为型设计模式 298
6.5.1 策略模式 298
6.5.2 模板方法模式 301
6.5.3 观察者模式 304
6.6 本章小结 307
第7章 事件总线 308
7.1 解析EventBus 308
7.1.1 使用EventBus 308
7.1.2 源码解析EventBus 314
7.2 解析otto 324
7.2.1 使用otto 324
7.2.2 源码解析otto 327
第8章 函数响应式编程 333
8.1 RxJava基本用法 333
8.1.1 RxJava概述 333
8.1.2 RxJava基本实现 334
8.1.3 RxJava的不完整定义回调 336
8.2 RxJava的Subject 338
8.3 RxJava操作符入门 339
8.3.1 创建操作符 339
8.3.2 变换操作符 340
8.3.3 过滤操作符 344
8.3.4 组合操作符 349
8.3.5 辅助操作符 352
8.3.6 错误处理操作符 355
8.3.7 条件操作符和布尔操作符 357
8.3.8 转换操作符 360
8.4 RxJava的线程控制 362
8.5 RxJava的使用场景 362
8.5.1 RxJava结合OkHttp访问网络 362
8.5.2 RxJava结合Retrofit访问网络 364
8.5.3 用RxJava实现RxBus 368
8.6 RxJava源码解析 370
8.6.1  RxJava的订阅过程 371
8.6.2 RxJava的变换过程 372
8.6.3 RxJava的线程切换过程 376
8.7 本章小结 381
第9章 注解与依赖注入框架 382
9.1 注解 382
9.1.1 注解分类 382
9.1.2 定义注解 384
9.1.3 注解处理器 385
9.2 依赖注入的原理 392
9.2.1 控制反转与依赖注入 392
9.2.2 依赖注入的实现方式 393
9.3 依赖注入框架 395
9.3.1 为何使用依赖注入框架 395
9.3.2 解析ButterKnife 395
9.3.3 解析Dagger2 405
9.4 本章小结 421
第10章 应用架构设计 422
10.1  MVC模式 422
10.2 MVP模式 423
10.2.1 应用MVP模式 424
10.2.2 MVP结合RxJava和Dagger2 431
10.3 MVVM模式 438
10.3.1 解析Data Binding 439
10.3.2 应用Data Binding 457
10.4 本章小结 459
第11章 系统架构与MediaPlayer框架 460
11.1 Android系统架构 460
11.2 Android系统源码目录 463
11.2.1 整体结构 463
11.2.2 应用层部分 464
11.2.3 应用框架层部分 465
11.2.4 C/C++程序库部分 465
11.3 Source Insights使用 466
11.4 MediaPlayer框架 467
11.4.1 Java Framework层的MediaPlayer分析 467
11.4.2 JNI层的MediaPlayer分析 469
11.4.3 Native层的MediaPlayer分析 471
11.5 本章小结 478
后记 479

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证