android网络框架

Android网络底层框架设计

大城市里の小女人 提交于 2020-02-07 05:05:12
简介: 很多人在进行网络请求的时候,都是直接请求网络数据,然后每次都自己手动解析数据,判断接口类别,然后再进行下一个步骤,但是其实请求网络数据有很多共性的东西,例如存储请求参数的统一性、后台返回的数据类型统一性、sessionId 过期处理统一性等。 (总结《App研发录》第二章(Android 网络底层框架设计)) 目录: 1.网络底层封装 2.App 数据缓存设计 3.用户登录 4.HTTP 头中的奥妙 网络底层封装 网路请求格式 Request 格式 网络请求一般具有 POST 、GET 方式: POST 方式是把 key-value 这样的键值对存放在 Form 表单中。 GET 方式是把 key-value 这样的键值对存放在 URL 上。 其实无论是哪种方式,都需要 key-value 的方式,因此,在传参数给网络请求框架的时候,都可以以 Map 的形式,然后网络请求框架再依据请求方式,把 Map 里面的数据取出来,放入相应的位置即可。 Response 格式 后台返回数据格式一般为 JSON,可以与后台协商返回固定格式的 JSON,例如所有的 JSON 都返回 isError、errorType、errorMessage、result 四个字段,它们的意思分别为: isError:请求网络数据成功与否。 errorType:错误类型。 errorMessage

Android 网络通信框架Volley简介(Google IO 2013)

↘锁芯ラ 提交于 2019-12-04 13:56:02
1. 什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上,Volley发布了。Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。 这是Volley名称的由来: a burst or emission of many things or a large amount at once 在Google IO的演讲上,其配图是一幅发射火弓箭的图,有点类似流星。见下图 其实,从这幅图,我们也可以看出来,Volley特别适合数据量不大但是通信频繁的场景。 1.1. Volley引入的背景 在以前,我们可能面临如下很多麻烦的问题。 比如以前从网上下载图片的步骤可能是这样的流程: 在ListAdapter#getView()里开始图像的读取。 通过AsyncTask等机制使用HttpURLConnection从服务器去的图片资源 在AsyncTask#onPostExecute()里设置相应ImageView的属性。 而在Volley下,只需要一个函数即可,详细见后面的例子。 再比如,屏幕旋转的时候,有时候会导致再次从网络取得数据。为了避免这种不必要的网络访问