【Android进阶之光】目录

第1章 Android新特性
第2章 Material Design
第3章 View体系与自定义View
第4章多线程编程
第5章网络编程与网络框架
第6章设计模式
第7章事件总线
第8章函数响应式编程
第9章注解与依赖注入框架
第10章应用架构设计
第11章系统架构与MediaPlayer框架

目录

前言

第1章 Android新特性

1.1 Android 5.0新特性

1.1.1 Android 5.0主要新特性概述

1.1.2替换ListView和GridView的RecyclerView

1.1.3卡片CardView

1.1.4 3种Notification

1.1.5 Toolbar与Palette

1.2 Android 6.0新特性

1.2.1 Android 6.0主要新特性概述

1.2.2运行时权限机制

1.3 Android 7.0新特性

1.3.1 Android 7.0主要新特性概述

1.3.2多窗口模式

1.4本章小结

第2章 Material Design

2.1 Material Design概述

2.1.1核心思想

2.1.2材质与空间

2.1.3动画

2.1.4样式

2.1.5图标

2.1.6图像

2.1.7组件

2.2 Design Support Library常用控件详解

2.2.1 Snackbar的使用

2.2.2用TextlnputLayout实现登录界面

2.2.3 FloatingActionButton的使用

2.2.4用TabLayout实现类似网易选项卡的动态滑动效果

2.2.5用NavigationView实现抽屉菜单界面

2.2.6用CoordinatorLayout实现Toolbar隐藏和折叠

2.3本章小结

第3章 View体系与自定义View

3.1 View与ViewGroup

3.2坐标系

3.2.1 Android坐标系

3.2.2 View坐标系

3.3 View的滑动

3.3.1 layout()方法

3.3.2 offsetLeftAndRight()与offsetTopAndBottom()

3.3.3 LayoutParams(改变布局参数)

3.3.4动画

3.3.5 scrollTo与scollBy

3.3.6 Scroller

3.4属性动画

3.5解析Scroller

3.6 View的事件分发机制

3.6.1源码解析Activity的构成

3.6.2源码解析View的事件分发机制

3.7 View的工作流程

3.7.1 View的工作流程入口

3.7.2理解MeasureSpec

3.7.3 View的measure流程

3.7.4 View的layout流程

3.7.5 View的draw流程

3.8自定义View

3.8.1继承系统控件的自定义View

3.8.2继承View的自定义View

3.8.3自定义组合控件

3.8.4自定义ViewGroup

3.9本章小结

第4章多线程编程

4.1线程基础

4.1.1进程与线程

4.1.2线程的状态

4.1.3创建线程

4.1.4理解中断

4.1.5安全地终止线程

4.2同步

4.2.1重入锁与条件对象

4.2.2同步方法

4.2.3同步代码块

4.2.4 volatile

4.3阻塞队列

4.3.1阻塞队列简介

4.3.2 Java中的阻塞队列

4.3.3阻塞队列的实现原理

4.3.4阻塞队列的使用场景

4.4线程池

4.4.1 ThreadPoolExecutor

4.4.2线程池的处理流程和原理

4.4.3线程池的种类

4.5 AsyncTask的原理

4.6本章小结

第5章 网络编程与网络框架

5.1网络分层

5.2 TCP的三次握手与四次挥手

5.3 HTTP协议原理

5.3.1 HTTP简介

5.3.2 HTTP请求报文

5.3.3 HTTP响应报文

5.3.4 HTTP的消息报头

5.3.5抓包应用举例

5.4 HttpClient与HttpURLConnection

5.4.1 HttpClient

5.4.2 HttpURLConnection

5.5解析Volley

5.5.1 Volley基本用法

5.5.2源码解析Volley

5.6解析OkHttp

5.6.1 OkHttp基本用法

5.6.2源码解析OkHttp

5.7解析Retrofit

5.7.1 Retrofit基本用法

5.7.2源码解析Retrofit

5.8本章小结

第6章 设计模式

6.1设计模式六大原则

6.2设计模式分类

6.3创建型设计模式

6.3.1单例模式

6.3.2简单工厂模式

6.3.3工厂方法模式

6.3.4建造者模式

6.4结构型设计模式

6.4.1代理模式

6.4.2装饰模式

6.4.3外观模式

6.4.4享元模式

6.5行为型设计模式

6.5.1策略模式

6.5.2模板方法模式

6.5.3观察者模式

6.6本章小结

第7章事件总线

7.1解析EventBus

7.1.1使用EventBus

7.1.2源码解析EventBus

7.2解析otto

7.2.1使用otto

7.2.2源码解析otto

第8章函数响应式编程

8.1 RxJava基本用法

8.1.1 RxJava概述

8.1.2 RxJava基本实现

8.1.3 RxJava的不完整定义回调

8.2 RxJava的Subject

8.3 RxJava操作符入门

8.3.1创建操作符

8.3.2变换操作符

8.3.3过滤操作符

8.3.4组合操作符

8.3.5辅助操作符

8.3.6错误处理操作符

8.3.7条件操作符和布尔操作符

8.3.8转换操作符

8.4 RxJava的线程控制

8.5 RxJava的使用场景

8.5.1 RxJava结合OkHttp访问网络

8.5.2 RxJava结合Retrofit访问网络

8.5.3用RxJava实现RxBus

8.6 RxJava源码解析

8.6.1 RxJava的订阅过程

8.6.2 RxJava的变换过程

8.6.3 RxJava的线程切换过程

8.7本章小结

第9章注解与依赖注入框架

9.1注解

9.1.1注解分类

9.1.2定义注解

9.1.3注解处理器

9.2依赖注入的原理

9.2.1控制反转与依赖注入

9.2.2依赖注入的实现方式

9.3依赖注入框架

9.3.1为何使用依赖注入框架

9.3.2解析ButterKnife

9.3.3解析Dagger2

9.4本章小结

第10章应用架构设计

10.1 MVC模式

10.2 MVP模式

10.2.1应用MVP模式

10.2.2 MVP结合RxJava和Dagger2

10.3 MVVM模式

10.3.1解析Data  Binding

10.3.2应用Data  Binding

10.4本章小结

第11章系统架构与MediaPlayer框架

11.1 Android系统架构

11.2 Android系统源码目录

11.2.1整体结构

11.2.2应用层部分

11.2.3应用框架层部分

11.2.4 C/C++程序库部分

11.3 Source lnsights使用

11.4 MediaPlayer框架

11.4.1 Java Framework层的MediaPlayer分析

11.4.2 JNl层的MediaPlayer分析

11.4.3 Native层的MediaPlayer分析

11.5本章小结

后记

作者:

喜欢围棋和编程。

 
发布于 分类 编程标签

发表评论

邮箱地址不会被公开。