藏书阁app-网络库选型篇

藏书阁app-网络库选型篇


基本要求

  • 支持 HTTP 协议
  • 异步请求

可选的网络库

经过整理,可得出以下四个热门网络库都是支持上述两点要求的,接下来一步一步分析各自的特点。

android-async-http
  • 通过该库的 Github 的主页我们可以得出以下特点:
    • 使用 ThreadPool 调度请求资源,避免了每次请求都要新建线程。
    • 支持 Gzip 解压缩
    • 早期版本基于 Apache’s HttpClient
      • 这是最被人诟病的一点, 因为 Apache’s HttpClient 在 Android 6.0 的 framework 层已经被移除了,现在的版本本质上还是使用 httpClient 的设计。
  • 简单使用过可以发现这个库的优点很明显,就是 Api 使用非常简单,是四个库中学习成本最低的一个,如果开发简单的练手项目和 Demo 很适合。但是缺点也很明显,作者已经不再维护这个库了。。 因此不再考虑这个库。

Volley
  • 特点:
    • 支持取消请求
      • 这点可跟 Activity 的生命周期结合起来,当页面不在屏幕上时我们可以试着取消一些无用的请求。
    • 支持 http cache
      • 可用于减少重复的请求。
  • 优点:
    • 适合小而频繁的操作,这个特点由以下的设计中体现。
      • ByteArrayPool 的重用:这是一个 byte 池,在服务器返回的响应转换成 stream 和 json 之前,都会在这里寻找可以复用的内存空间,避免了每次请求都要重新申请内存,进一步减少了GC次数。
      • Request 的合并:在用户发出多次相同的请求时, volley 先在 request queue 中查找是否有相同的,有则合并请求。
    • 官网有构建简单的 request 和自定义 request 的详细的教程,减少了开发者的学习成本。
  • 缺点:
    • response 的参数是 byte[] 或 text,不提供 Stream 流读取方式,如果需要文件下载功能则需要其他机制的支持。
    • 请求的回调内容发生在主线程,在解析 response 时可能会造成主线程阻塞。
  • 总结:好处很多,但是对我本身来说,因为之前在别的应用中使用过 volley ,这次想尝试一下别的库,因此不选择该库。

Okhttp
  • Android 平台最好的 Http 网络库,选择了 Http协议就选择这个库就没错了~
  • 特性:
    • 大数据请求
      • 对 post 请求封装非常好,通过 resquestbody 简单调用中就可以完成文本、表单、流、文件、分块请求。
    • 完善 Http Cache
      • 发生默认的http请求,若请求存在本地缓存且未过有效期,使用本地的cache,并不真正发出请求。
    • gzip 的自动解压缩
      • 只需要告诉服务端接受 gzip 压缩就行,客户端不需要做额外的工作,因为发送的 Http 请求中, okhttp 已经默认为我们加上了 gzip 压缩字段。
    • 链路的复用
      • 使用 ThreadPool 调度请求资源,避免了每次请求都要新建线程。
    • 自定义请求调度
      • 我们可以根据网络环境设置并行的请求个数
    • 支持请求拦截器
      • 收集请求日记信息,不干扰正常业务请求。
      • 登录时统一设置用户 token, 不用逐个设置。

Retrofit

  • 优点:
    • 完善的 RESTful 支持。
      • 如果 web api 采用的是这个 ,那不用考虑就这个库了。
      • 但是如果 web api 用得是一级协议或者二级协议,那么我们获得到 response 后还需要进行二次封装,带来了额外的编码量。
    • 提供对 RxJava 的支持
  • 缺点:

    • 基于注解实现
      • 扩展非常困难,比如说加密信息。
    • 依赖 okhttp
      • 切换底层库会很困难。。。。

    REST :就是用 URL 定位资源,用 HTTP 描述操作,一种万维网软件架构风格.
    RESTful :符合REST设计风格的Web API称为RESTful API。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值