Android网络请求方式 | 青训营笔记

233 阅读2分钟

这是我参与「第四届青训营」笔记创作活动的第5天。

本笔记内容是第四课的网络请求部分。

1 Android网络请求方式

Android支持使用HttpURLConnection类。这是一种比较基础的网络请求方式,因此,如果App需要访问网络请求的频率不高,可以简单使用这种方式完成网络请求。这种方式的使用方法请读者参阅Android官方文档。链接:developer.android.com/reference/j…

Google也开发了一个Volley HTTP库支持网络请求,它的文档链接是google.github.io/volley/。 文档中指出,它不适合大型下载操作,对于大型下载操作,文档中建议考虑使用替代方法,例如 DownloadManager。此外,这一HTTP库的最后一次发布时间是2021年8月。

OkHttp是Square开发的一个现代化网络请求库,使用方式参见文档square.github.io/okhttp/。另外值得注意的是,在AOSP内部,OkHttp也得到了使用,参见android.googlesource.com/platform/ex…

Retrofit是Square开发的适用于 Android 和 Java的类型安全HTTP 客户端。(square.github.io/retrofit/)Retrofit使用OkHttp作为底层支持,其本身便是对OkHttp的一个封装,同时,通过阅读Retrofit的底层源码,可以基于Retrofit二次开发,开发出适合自己公司业务需求的网络请求库。在Retrofit中,使用注解来实现网络请求的描述,对于注解的处理原理,课上也有描述,但值得后续进一步深入学习,届时再单独总结。

2 总结

Android网络请求是在Android App开发的常用需求。本文主要总结课上提到的目前Android可用的网络请求方式。本文并未详细介绍这些请求方式的请求方法,在实际开发中首先按照实际需求,选择所需网络请求库,再通过阅读其文档在实践中学习,是更好的方式。

目前,在Android开发中,业界常用的网络请求库是OkHttp和Retrofit。由于Retrofit是以OkHttp为底层封装,因此若需要深入理解Retrofit,需要先熟悉OkHttp。课上也介绍了一些Retrofit对OkHttp的底层调用,但由于目前本笔记作者水平所限,尚需更加熟悉这两个请求库后方可深入探究,在此总结,与注解处理一起,作为一个该部分知识可深入的方向。