写在前面
本文仅针对有一定volley基础的朋友们。如果你之前完全没有接触过volley,推荐去看下郭霖大神的blog。Android Volley完全解析(一),初识Volley的基本用法
本文心法传授于群里大佬,大佬QQ:864009106,让我对于volley以及封装有了新的认识,十分感谢。
准备工作
Manifest.xml配置网络权限
<!-- 网络请求权限 --> <uses-permission android:name="android.permission.INTERNET" />
JSON处理
本文采用fastjson进行解析
//fastJson compile 'com.alibaba:fastjson:1.2.33'
进度条显示(可选)
本文采用SweetAlertDialog
//sweet-alert-dialog compile 'cn.pedant.sweetalert:library:1.3'
导入SweetAlertDialog时,项目会报Manifest merge failed错误,在Manifest的application中加入tools:replace=”android:icon”即可解决。
初始化
确保RequestQueue单例。
新建RequestQueueUtil工具类, 单例获取RequestQueue对象。
public class RequestQueueUtil { private static RequestQueue sRequestQueue; public static RequestQueue getRequestQueue(Context context) { if (sRequestQueue == null) { synchronized (RequestQueue.class) { if (sRequestQueue == null) { sRequestQueue = Volley.newRequestQueue(context); } } } return sRequestQueue; } }
在Application中初始化请求队列
public class VolleyApplication extends Application { public static RequestQueue sRequestQueue; @Override public void onCreate() { super.onCreate(); sRequestQueue = RequestQueueUtil.getRequestQueue(this); } }
开始封装
开始之前,我们先来想一想,一个好的网络请求框架需要哪些东西?
首先要有可拓展性,可以根据项目的情况灵活修改。
其次要有统一的数据处理以及错误处理。
最后一定要结构整齐美观,便于后期维护。
咱们先来看一个基本的Request用法:
private