在开发客户端app时经常会使用到KJHTTP,虽然知道怎么去使用它,但是对它并不是非常的了解,所以查了一下它的基础功能和工作原理。
**1.KJHttp的基础功能**
KJHTTP是专门为解决Android的Http通讯而产生的,它在请求和响应层面做了全自动构建和解析,主要用于Android快速开发。
KJHttp自带了数据缓存功能,你做访问的Http数据都将在本地建立一个缓存,默认的缓存时间是5分钟,也就是5分钟以内相同的请求都不会进过网络,而是在本地缓存中直接读取。当然对于及时性要求较高的新闻类应用,你也可以关闭这个特性或者只需要将缓存时间设置成0就ok了。
KJHttp支持JSON格式参数提交、AJAX方式的Form表单参数提交,文件与图片的上传下载,同时支持根据你的需求所发动的自定义Request。
**2.KJHttp的工作原理**
整个KJHttp工作流程:采用责任链设计模式,由三部分组成,类似设计可以类比Handle...Looper...MessageQueue
1.KJHttp负责不停向NetworkQueue(或CacheQueue实际还是NetworkQueue,具体逻辑请查看{@link CacheDispatcher})添加Request
2.另一边由TaskThread不停下从NetworkQueue中取Request并交给Network执行器(逻辑请查看{@link NetworkDispatcher})
3.Network执行器将执行成功的NetworkResponse返回给TaskThread,并通过Request的定制方法{@link Request#parseNetworkResponse()}封装成Response,最终交给分发器{@link Delivery}发送给线程并调用HttpCallback相应的方法。
KJHttp的基础功能和工作原理
最新推荐文章于 2025-05-06 16:09:52 发布