Android主流网络请求开源库的对比

news/2024/11/6 5:03:45/

目录

在这里插入图片描述

一、为什么要用网络请求开源库?

网络请求开源库是一个将网络请求的相关功能封装好的类库

  • 没有网络请求框架之前
    App想与服务器进行网络请求交互是一件很痛苦的事:因为Android的主线程不能进行网络请求,需另开1个线程请求、考虑到线程池,缓存等一堆问题

  • 使用网络请求库后
    实现网络请求的需求同时不需要考虑:
    1、异步请求
    2、线程池
    3、缓存
    4、其它

  • 同时还
    1、降低开发难度
    2、缩短开发周期
    3、使用方便

二、储备知识

2.1 Android实现网络请求的主流方法(SDK自带)
HttpClient、HttpURLConnection

在这里插入图片描述

2.2 网络请求库 与 Android网络请求方法的关系

  • 网络请求库的本质 = 封装了 网络请求 + 异步 + 数据处理功能的库

  • 其中,网络请求功能则是采用Android网络请求的原生方法(HttpClientHttpURLConnection

  • 具体如下图
    在这里插入图片描述

三、主流的网络请求库 简介

如今Android中主流的网络请求框架有:

  • Android-Async-Http
  • Volley
  • OkHttp
  • Retrofit

下面是简单介绍:

在这里插入图片描述

四、网络请求库- 对比

一图让你了解全部的网络请求库和他们之间的区别!

在这里插入图片描述

五、主流网络请求库的Github地址

Android-Async-Http
Volley
OkHttp
Retrofit

六、添加依赖

Android-Async-Http

compile 'com.loopj.android:android-async-http:1.4.9'

Volley

compile 'com.mcxiaoke.volley:library:1.0.19'

OkHttp

implementation("com.squareup.okhttp3:okhttp:4.10.0")

Retrofit

dependencies {compile 'com.squareup.retrofit2:retrofit:2.0.2'// Retrofit库compile 'com.squareup.okhttp3:okhttp:3.1.2'// Okhttp库}

七、总结

本文全面的介绍 & 对比 Android的主流网络请求库
总的来说:网络请求库没有最好,只有最合适,只有真的了解其使用场景才能很好的选择网络请求库

参考

  • Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)

  • Carson带你学Android:主流开源网络请求库对比(Volley、OkHttp、Retrofit)

  • Android 各大网络请求库的比较及实战

  • Android开发常用网络请求框架OkHttp、Volley、XUtils、Retrofit对比


http://www.ppmy.cn/news/50190.html

相关文章

CSS基础——定位及背景处理

目录 定位 相对定位 相对定位特点 绝对定位 绝对定位的特点 固定定位 固定定位和绝对定位不同的特点 层级问题 opacity IE处理 背景 background-image background-color background-repeat background-position 图片整合技术 优点 background-attachment 属性…

几种加密算法

一、概述 在安全领域,利用密钥加密算法来对通信的过程进行加密是一种常见的安全手段。利用该手段能够保障数据安全通信的三个目标: 1、数据的保密性,防止用户的数据被窃取或泄露 2、保证数据的完整性,防止用户传输的数据被篡改 3…

leetcode 1416. Restore The Array(恢复数组)

一台打印机没有把空格打印出来,以至于不知道打印出的 s 中到底有哪些数字。 现在知道数字的取值范围在1 ~ k, 数字开头不能是0. 返回可能的数字个数。取模1097. 思路: DP 假设dp[ i ]为 i ~ n位的s 所能组成的数字组合数。 从右到左遍历,…

人工智能包含哪些知识

人工智能是一个广泛的领域,它涉及多个学科和知识领域。以下是人工智能包含的一些知识: 计算机科学:人工智能的发展需要计算机科学中的许多概念和技术,如算法、数据结构、计算机体系结构、计算理论等。 数学:数学在人工…

4、RSA终端指令

RSA总结 加密算法,都是数学知识对称加密(传统加密算法)RSA(三个人的名字)非对称加密(现代加密算法) 原根欧拉函数、欧拉定理(费马小定理)模反元素 m^(e * d) mod n ≡ m迪菲赫尔曼密钥交换RSA算法 RSA: 拆解两个(大)质数的乘积很难!所以RSA想对安全.加密: M ^e % N C解密: C…

java: web应用中不经意的内存泄露

前面有一篇讲解如何在spring mvc web应用中一启动就执行某些逻辑,今天无意发现如果使用不当,很容易引起内存泄露,测试代码如下: 1、定义一个类App package com.cnblogs.yjmyzz.web.controller;import java.util.Date;public cla…

【数据挖掘】5分钟带你了解文本向量化的常见方式

5分钟带你了解文本向量化的常见方式 1. 独特编码模型2. 词袋模型3. TF-IDF模型4. N-gram模型5. Word2Vec模型参考资料文本向量化:将文本信息表示成能够表达文本语义的向量,是 用数值向量来表示文本的语义。 词嵌入(Word Embedding):一种将文本中的词转换成数字向量的方法,…

Elasticsearch REST API 文档管理

文章目录 创建文档路径参数常用查询参数示例响应说明 查询文档路径参数编辑查询参数示例 1响应说明示例2示例3 更新文档路径参数查询参数示例1示例2禁用noop mget 获取多个文档路径参数查询参数请求正文参数说明示例1响应结果示例2 删除文档路径参数查询参数示例1 开放式并发控…