Retrofit 源码分析
摘要 通过分析Retrofit源码,了解这款简洁的网络库如何提高我们的工作效率。通过动态代理技术,创建我们接口对象,以提供我们调用接口函数。通过解析接口定义的函数,装配成OkHttp网络请求所需的数据并发起网络请求。我们可以根据自己的需求,自定义请求适配器和响应转换器。 流程分析 动态代理 我 ...
阅读更多
OkHttp 源码分析
摘要 本文主要是分析Android主流网络请求框架OkHttp源码,看看每天都在打交道的伙计到底在干什么。处理了网络中最根本的HTTP问题,如对HTTP请求报文和响应报文的处理。允许自定义拦截器实现特殊的需求,如日志打印,增加请求头等。默认六个拦截器处理网络请求,缓存复用,连接复用,数据转化,重试 ...
阅读更多
HTTP与HTTPS
摘要 本文主要是HTTP/1.1以及HTTP/2和HTTP/3的一些要点,版本的更新都是为了升级和迭代旧版本。HTTP一直在不停的优化升级,以提高带宽利用和降低请求与响应的延迟。通过SSL\TLS协议加密HTTP传输数据,让传输数据更安全。 超文本传输协议HTTP HTTP协议是客户端与Web服 ...
阅读更多
Compose 状态与组合
摘要 本文主要介绍的是,在Compose实际编程中,当数据发生变更后,怎么去刷新界面。Compose通过可观察的状态,来触发组合的重组。将状态的显示与状态的存储和更改解耦,通过观察者模式来驱动界面变化。 在Android的视图层次结构中,界面是通过一个个的View,例如LinearLayout、T ...
阅读更多
OkHttp的使用
摘要 本文是介绍OKHttp的简单使用。OkHttp目前作为Android网络请求的主力框架,学习和深入OkHttp是非常必要的。目前OkHttp已经更新到4.9.0版本,从4.0版本开始已经采用Kotlin开发,充分利用了Kotlin的特性,如扩展函数,所以与以前版本的使用有一点区别,但框架和思 ...
阅读更多
网络层IP、ARP、RIP、OSPF
网络层负责主机到主机的逻辑通信,而端到端系统的逻辑通信交给了运输层。网络层对运输层只提供简单灵活的,无连接的,尽最大努力交付的数据报服务。也就是说网络层不提供可靠的数据交付服务保证。 网络层主要存在四个协议:IP,ARP,ICMP,IGMP 网际协议IP: 是TCP/IP体系中两个最主要的协议之一 ...
阅读更多
Compose ConstraintLayout 详讲
简介与依赖 Compose ConstraintLayout约束布局主要应用在构建复杂布局,避免使用Column、Row、Box多层嵌套,同时也能提高开发效率。 开始使用之前需要添加对ConstraintLayout的依赖: 1implementation 'androidx.constraint ...
阅读更多
运输层的TCP与UDP
运输层提供了端与端系统之间的逻辑通信(主机内部),而运输层提供了主机之间的逻辑通信,也就意味着运输层不存在中间路由器中。运输层在应用层与网络层之间至少提供最基础的多路复用和多路分解的服务,通过socket将应用层多个进程的数据收集交付网络层;或将网络层数据交付到不同的端口号的socket,提供给应用 ...
阅读更多
ThreadLocal
一、什么是ThreadLocal ThreadLocal用于保存线程全局变量,以方便调用。即,当前线程独有,不与其他线程共享;可在当前线程任何地方获取到该变量。 二、ThreadLocal的使用 1、如何保存内容 创ThreadLocal实例,并调用set函数,保存中国字符串,分别在当前线程和 ...
阅读更多