Android 谷歌 开源 通信框架 VOLLEY(六)——应用实例
来源:互联网 发布:淘宝子账号权重值500 编辑:程序博客网 时间:2024/06/07 23:08
五、应用实例
package com.example.test;import com.android.volley.Request;import com.android.volley.RequestQueue;import com.android.volley.toolbox.Volley;import android.content.Context;public class VolleyUtils { private static VolleyUtils mUtils; private Context mContext; private RequestQueue mQueue; private VolleyUtils(Context context){ mContext = context.getApplicationContext(); mQueue = Volley.newRequestQueue(mContext); mQueue.start(); } public static VolleyUtils getInstance(Context context){ if(null == mUtils){ synchronized (VolleyUtils.class) { if(null == mUtils){ mUtils = new VolleyUtils(context); } } } return mUtils; } public void addRequest(Request request,Context context){ request.setTag(context); mQueue.add(request); } public void cancelAllReq(Context context){ //某个Activity/Service的上下文 //这样只会取消对应界面的Request if(mQueue != null){ mQueue.cancelAll(context); } }}
package com.example.test;import com.android.volley.RequestQueue;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.StringRequest;import com.android.volley.toolbox.Volley;import android.app.Activity;import android.os.Bundle;import android.util.Log;public class MainActivity extends Activity { private RequestQueue mReqQueue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mReqQueue = Volley.newRequestQueue(this); //一个请求队列绑定一个Activity if(mReqQueue!=null){ mReqQueue.start(); //启动请求队列,不断提取请求信息 } } @Override protected void onStart() { super.onStart(); String url = "www.baidu.com"; //成功回调函数 Response.Listener<String> successListener = new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("TAG",response.toString()); } }; //失败回调函数 Response.ErrorListener failListener = new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.d("TAG", error.toString()); } }; //创建请求 StringRequest mRequest = new StringRequest(url, successListener, failListener); //添加进请求队列 mReqQueue.add(mRequest); } @Override protected void onDestroy() { if(mReqQueue!=null){ //请求队列解绑 mReqQueue.stop(); mReqQueue = null; } super.onDestroy(); }}
六、框架总结
单列优点:
1、提供了对唯一实例的受控访问。对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等等。
2、由于在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。
0 0
- Android 谷歌 开源 通信框架 VOLLEY(六)——应用实例
- Android 谷歌 开源 通信框架 VOLLEY(二)——String/Json处理
- Android 谷歌 开源 通信框架 VOLLEY(三)——图片加载处理
- Android 谷歌 开源 通信框架 VOLLEY(四)——定制请求
- Android 谷歌 开源 通信框架 VOLLEY(五)——源码架构设计
- Android 谷歌 开源 通信框架 VOLLEY(一)
- Android Volley 通信框架应用解析
- Android网络通信请求框架——Volley
- Android-Volley网络通信框架(volley 例子:电影列表)
- 关于应用Volley框架 + Android 网络通信框架Volley简介(Google IO 2013)
- Android网络通信框架Volley——自定义Request(Get、Post、文件上传)
- Android HTTP网络通信(二):Volley框架——介绍、基本用法
- Android HTTP网络通信(三):Volley框架——定制Request
- Android网络通信框架:Volley
- Android网络通信框架Volley
- Android网络通信框架Volley
- Android网络通信框架Volley
- Android网络通信框架Volley
- HDU5348 MZL's endless loop (搜索)
- 不解压直接读取压缩包中的文件
- 菜鸟学Android(四十四):jsp标签技术简介及jsp标签的开发详解
- HTTPS、SPDY和HTTP/2的性能比较
- Python 爬虫
- Android 谷歌 开源 通信框架 VOLLEY(六)——应用实例
- ListView,3行
- Lttng document
- FZU 2167 大王叫我来巡山呐
- 关于ScrollView的知识
- 如何使用crontab定时运行爬虫
- 选择排序小谈
- Linear Regression_Note of Machine Learning_Andrew NG
- VC6.0使用richedit2.0 or richedit3.0