Android系统架构师 网络层架构设计与实战
这是一门面向android开发教程中高级工程师、初级架构师的网络层架构设计课程,采用Retrofit网络框架的设计思路,从底层开始设计与实现一个全新的、功能强大的网络框架,支持多线程下载、GreenDao、RxJava、https、dns、注解、重连与错误处理等,具有非常强的通用性和代表性
第1章 课前须知
介绍如何去学习,课程适合的人群、怎么才能融会贯通
第2章 主流网络框架分析
常用网络框架介绍,分析volley 、Android-async-http、Afinal框架、xUtils、okhttp、retrofit、优有点缺点、教会选择一个框架的标准是什么?
第3章 http协议详解
介绍http1.0、1.1 2.0版本和spdy协议、示例讲解请求头的应用场景、响应头的种类划分、缓存相关字段等。
第4章 okhttp3详解
讲解使用 okhttp3发送同步请求异步请求 get/post/上传文件/ 支持缓存、 http协议缓存实现的原理
第5章 多线程下载功能设计
本章讲解框架搭建,下载框架是解决的几个关键问题,与下载相关的字段示例、编写框架的核心代码、多线程使用原理。
第6章 多线程下载功能优化
本章主要是优化多线程下载功能,增加队列机制、添加数据库支持、进度更新、多线程优化、单例、构建者模式实际应用讲解、架构设计的一些见解。
第7章 客户端设计
本章开始对框架的 header进行封装、对状态码定义 request进行封装 、对response进行封装,且对抽象的工厂模式进行实际应用并编写测试用例测试核心架构的功能
第8章 框架拓展设计
本章开始拓展支持原生HttpURLConnection 实现网络请求、增加请求的异步处理和队列机制,增加了自动类型的转换并对网络框架设计和实现的原理进行分析,以方便大家遇到具体需求是能够在此基础上灵活方便的进行拓展。
第9章 网络框架重构
本章解决前面实现过程中遗留问题,并分析框架原理,重构网络请求代码、重新封装reponse和request、NiceClient等,让我们的框架更易用。
第10章 网络框架注解功能设计与实现
本章会讲解动态代理和注解处理,并定义相关注解,例如GET、POST、Query、QueryMap、Path、Filed、FiledMap,让我们的网络框架也支持注解功能。支持发送json到服务器
第11章 错误码和重连功能设计与实现
本章通过注解实现重新连接功能,支持对错误码的处理功能
第12章 https功能设计与实现
本章会讲解https的原理、常见的加密知识、重点给大家讲一下单向认证和双向认证,通过一个实际的单向认证的例子给大家讲一下客户端和服务端是如何处理https功能的
第13章 httpDns功能设计与实现
本章给大家讲一下常见的dns劫持案例,包括dns劫持解决方案和在使用httpdns过程中遇到的问题,网络框架层增加httpDns功能,支持原生的HttpUrlConnection和okhttp3,可自定义替换httpdns功能
第14章 支持RxJava及课程总结
本章会带大家为我们的框架实现rxjava功能,让我们的框架也能够支持响应式编程。本章对框架进行总结,希望大家都再次进行梳理和总结,把课程学到的知识变成自己的东西,最后祝大家学有所成,学有所获!
1、自动:在上方保障服务中标有自动发货的商品,拍下后,将会自动收到来自卖家的商品获取(下载)链接;
2、手动:未标有自动发货的的商品,拍下后,卖家会收到邮件、短信提醒,也可通过QQ或订单中的电话联系对方。
1、描述:源码描述(含标题)与实际源码不一致的(例:描述PHP实际为ASP、描述的功能实际缺少、版本不符等);
2、演示:有演示站时,与实际源码小于95%一致的(但描述中有"不保证完全一样、有变化的可能性"类似显著声明的除外);
3、发货:手动发货源码,在卖家未发货前,已申请退款的;
4、服务:卖家不提供安装服务或需额外收费的(但描述中有显著声明的除外);
5、其他:如质量方面的硬性常规问题等。
注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。交易中的商品,卖家无法对描述进行修改!
1、在未拍下前,双方在QQ上所商定的内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准);
2、在商品同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外);
3、在没有"无任何正当退款依据"的前提下,写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;
4、虽然交易产生纠纷的几率很小,但请尽量保留如聊天记录这样的重要信息,以防产生纠纷时便于网站工作人员介入快速处理。