Volley框架的学习总结(1)
来源:互联网 发布:用友进销存软件 编辑:程序博客网 时间:2024/06/08 07:25
1 Volley的主要功能:
- 网络请求数据异步下载;
- 网络请求的优先级处理
- 请求数据的缓存处理;
- 多级别取消请求
- 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)
步骤:
1.建立请求队列: RequestQueue mQueue= Volley.newRequestQueue(this);
2.请求对象: ImageRequest imageRequest = new ImageRequest()
3.把请求对象添加到请求队列中: mQueue.add(imageRequest);
4.取消请求: mQueue.cancelAll(this);
代码如下:
package com.example.kaiwei.vollydemo1;import android.app.Activity;import android.graphics.Bitmap;import android.os.Bundle;import android.util.Log;import android.widget.ImageView;import android.widget.TextView;import com.android.volley.RequestQueue;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.ImageRequest;import com.android.volley.toolbox.StringRequest;import com.android.volley.toolbox.Volley;public class MainActivity extends Activity { //建立请求队列; private RequestQueue mQueue; private TextView textview; private ImageView imageview; private final String url_weather = "http://www.weather.com.cn/adat/cityinfo/101010100.html"; private final String url_image = "http://i.tq121.com.cn/i/wap/logo.png"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textview = (TextView) findViewById(R.id.textview); imageview = (ImageView) findViewById(R.id.imageview); mQueue = Volley.newRequestQueue(this); loadJson(); loadImageView(); } private void loadImageView() { //图片请求; ImageRequest imageRequest = new ImageRequest( url_image, new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap response) { imageview.setImageBitmap(response); } }, 0, 0, Bitmap.Config.RGB_565, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { imageview.setImageResource(R.drawable.ic_launcher); } }); //把请求添加到请求队列中; mQueue.add(imageRequest); } private void loadJson() { // TODO Auto-generated method stub //json数据请求; StringRequest stringRequest = new StringRequest(url_weather, new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("response", response); textview.setText(response); System.out.println("response" + response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("response", error.getMessage(), error); } }); //把请求添加到请求队列中; mQueue.add(stringRequest); } @Override protected void onStop() { super.onStop(); //取消这个队列里的所有请求 mQueue.cancelAll(this); }}
运行结果:
“weatherinfo”:{“city”:”北京”,”cityid”:”101010100”,”temp1”:”15℃”,”temp2”:”5℃”,”weather”:”多云”,”img1”:”d1.gif”,”img2”:”n1.gif”,”ptime”:”08:00”}}
1 0
- Volley框架的学习总结(1)
- Volley框架的学习总结(2)
- Volley框架学习(1)
- Volley框架的学习
- Volley框架的学习
- Volley框架的学习
- Volley框架的使用总结
- volley框架学习(2)
- 网络通信框架Volley的学习(一)
- 网络通信框架Volley的学习(二)
- volley学习笔记(五):Android Volley框架的几种post提交请求方式
- Android网络框架总结Volley(一)
- Android网络框架总结Volley(二)
- Volley框架总结
- Volley框架小总结
- 【学习笔记】Volley框架的应用
- android http 框架volley 的学习 。。
- volley学习(1)—volley的特性
- 如何提取并输出使用forecast函数的预测值,ARIMA model in R
- 关于EXC_BAD_ACCESS,以及解决办法
- android绘制花边view-WaveLineView
- UE如何改变点击上传图片的弹出框的大小...
- 转自百度百科——eclips中的快捷键的总结
- Volley框架的学习总结(1)
- [渗透测试] 渗透测试板块TIPs
- Ios学习-oc学习1记录
- Linux 0.12内核与现代内核在内存管理上的区别
- 关于xcode6升xcode7之后多window时,程序的状态栏管理问题
- 继承
- 影响力一:影响力的武器
- 自定义一个LTView对象,本身自带一个UILable和一个UITextField控件
- 始祖家族.The.Originals