使用Volley框架发起网络访问的写法
来源:互联网 发布:大话西游手游抢星软件 编辑:程序博客网 时间:2024/05/15 12:11
step 1: 创建一个请求队列
step 2: 创建请求对象
1)获得字符串类型的内容使用 StringRequest
2) 获得图片类型的内容使用 ImageRequest
ImageRequest需要6个参数,分别是:
i.要加载的图像路径
ii.加载图片成功后的监听器。在图像获取完毕后,volley会调用监听器的onResponse方法,并把图像作为参数传入
iii/iv:是否要对获得的原始图像进行压缩。如果都指定0,则不进行任何压缩
v. 指定图像格式Bitmap.Config
vi.指定错误时监听器。当加载过程中出现错误,会调用监听器的onErrorResponse方法并传入一个VolleyError对象封装错误信息。
3)ImageLoader Volley提供的一个图片加载类。内部封装了ImageRequest,并使用缓存机制保存已经加载过的图片。
4)自定义Request
写一个WeatherRequest,发起请求,请求结束以后,直接获得WeatherBean对象,作为参数传递到监听器的onResponse方法中。
step 3: 把step2创建的对象放到step1创建的队列中
示例如下:
public class HttpUtil {
private static RequestQueue queue;
public static void getWeahters(final Context context,String city,final OnLoadWeatherFinishListener listener){
try {
if(queue==null){
queue = Volley.newRequestQueue(context);
}
String encode = URLEncoder.encode(city, "utf8");
String url="http://op.juhe.cn/onebox/weather/query?cityname="+encode+"&key=15b3860417a0875de210d562b0be2ce3";
StringRequest request = new StringRequest(url, new Listener<String>() {
@Override
public void onResponse(String arg0) {
Gson gson = new Gson();
WeatherBean bean = gson.fromJson(arg0, WeatherBean.class);
listener.onLoadFinish(bean);
}
}, new ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
Toast.makeText(context, arg0.getMessage(), Toast.LENGTH_SHORT).show();
}
});
queue.add(request);
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 使用Volley框架发起网络访问的写法
- 访问网络的框架(Volley和OkHttp3)使用
- Android 网络访问框架 Volley 基本使用
- Android网络框架Volley的快速使用
- Android网络请求框架Volley的使用
- Android Volley网络框架的基本使用
- android网络请求Volley框架的使用
- Volley网络请求框架的使用
- Volley网络框架的简单使用
- 【Volley网络框架】的简单使用
- Android网络Volley框架的使用
- volley框架网络获取的使用
- android Volley请求框架的简单使用——访问网络和加载图片
- 如何使用Google Volley网络库发起带Header的HTTP请求?
- Android_访问网络四(Volley网络框架)
- volley网络框架使用总结
- Volley框架网络访问String,JsonObject,JsonArray
- 用volley框架进行网络访问
- 有用网站注册
- HDU 5618 Jam's problem again(CDQ分治)
- 物体随鼠标(触摸按键)旋转
- 生成代码覆盖率报告插件 apply plugin: 'jacoco'
- Android手机目前常见的分辨率
- 使用Volley框架发起网络访问的写法
- 数据结构上机测试1:顺序表的应用
- JS 判断鼠标长按 实例
- C# 获取计算机系统相关信息
- 暑期dp46道(13)——HDOJ 1160FatMouse's Speed 排序+最长严格下降子序列+回溯
- struts2自定义拦截器
- jQuery DataTables 使用方法整理(上)
- STL-->详解六大容器
- Linux用户态和内核态之间的交互