volley get post json imagerequest imageloader networkimageview 加载网络本地图片
官方网站 https://www.androidhive.info/2014/05/android-working-with-volley-library-1/


private void initListener() {
// get请求
bt_volley_get.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 1 创建一个请求队列
RequestQueue requestQueue = Volley.newRequestQueue(VolleyActivity.this);
// 2 创建一个请求
String url = "http://api.m.mtime.cn/PageSubArea/TrailerList.api";
StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
// 正确接收数据回调
@Override
public void onResponse(String s) {
tv_volley_result.setText(s);
}
}, new Response.ErrorListener() {// 发生异常后的监听回调
@Override
public void onErrorResponse(VolleyError volleyError) {
tv_volley_result.setText("加载失败" + volleyError);
}
});
// 3 将创建的请求添加到请求队列中
requestQueue.add(stringRequest);
}
});
// post请求
bt_volley_post.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 1 创建一个请求队列
RequestQueue requestQueue = Volley.newRequestQueue(VolleyActivity.this);
// 2 创建一个post请求
String url = "http://api.m.mtime.cn/PageSubArea/TrailerList.api";
StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
tv_volley_result.setText(s);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
tv_volley_result.setText("请求失败" + volleyError);
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> map = new HashMap<String, String>();
map.put("value1","param1");
return map;
}
};
// 3 将post请求添加到队列中
requestQueue.add(stringRequest);
}
});
// 获取json数据
bt_volley_getjson.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 1 创建一个请求队列
RequestQueue requestQueue = Volley.newRequestQueue(VolleyActivity.this);
// 2 创建一个请求
String url = "http://api.m.mtime.cn/PageSubArea/TrailerList.api";
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
tv_volley_result.setText(jsonObject.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
tv_volley_result.setText("请求失败" + volleyError);
}
});
// 3 将创建的请求添加到请求队列中
requestQueue.add(jsonObjectRequest);
}
});
// imagerequest加载图片
bt_volley_imagerequest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 1 创建一个请求队列
RequestQueue requestQueue = Volley.newRequestQueue(VolleyActivity.this);
// 2 创建一个图片的请求
String url = "http://img5.mtime.cn/mg/2016/10/11/160347.30270341.jpg";
ImageRequest imageRequest = new ImageRequest(url, new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap bitmap) {
// 正确接收到图片
iv_volley_result.setVisibility(View.VISIBLE);
iv_volley_result.setImageBitmap(bitmap);
}
}, 0, 0, Bitmap.Config.RGB_565, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
iv_volley_result.setImageResource(R.drawable.atguigu_logo);
}
});
// 3 将请求添加到请求队列中
requestQueue.add(imageRequest);
}
});
// imageloader加载图片
bt_volley_imageloader.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 创建一个请求队列
RequestQueue requestQueue = Volley.newRequestQueue(VolleyActivity.this);
// 创建一个imageloader
// ImageLoader imageLoader = new ImageLoader(requestQueue, new ImageLoader.ImageCache() {
// @Override
// public Bitmap getBitmap(String s) {
// return null;
// }
//
// @Override
// public void putBitmap(String s, Bitmap bitmap) {
//
// }
// });
ImageLoader imageLoader = new ImageLoader(requestQueue, new BitmapCache());
// 加载图片
String url = "http://img5.mtime.cn/mg/2016/10/11/160347.30270341.jpg";
iv_volley_result.setVisibility(View.VISIBLE);
ImageLoader.ImageListener imageListener = imageLoader.getImageListener(iv_volley_result, R.drawable.atguigu_logo, R.drawable.atguigu_logo);
imageLoader.get(url, imageListener);
}
});
// networkimageview加载图片
bt_volley_networkimageview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 让控件显示
iv_volley_networkimagview.setVisibility(View.VISIBLE);
// 创建一个请求队列
RequestQueue requestQueue = Volley.newRequestQueue(VolleyActivity.this);
// 创建一个Imageloader
ImageLoader imageLoader = new ImageLoader(requestQueue, new BitmapCache());
// 默认图片和异常图片设置
iv_volley_networkimagview.setDefaultImageResId(R.drawable.atguigu_logo);
iv_volley_networkimagview.setErrorImageResId(R.drawable.atguigu_logo);
// 加载图片
String url = "http://img5.mtime.cn/mg/2016/10/11/160347.30270341.jpg";
iv_volley_networkimagview.setImageUrl(url, imageLoader);
}
});
}
import android.graphics.Bitmap;
import android.util.LruCache;
import com.android.volley.toolbox.ImageLoader;
public class BitmapCache implements ImageLoader.ImageCache {
private LruCache<String, Bitmap> mCache;
public BitmapCache() {
int maxSize = 10 * 1024 * 1024;// 10m
mCache = new LruCache<String, Bitmap>(maxSize) {
@Override
protected int sizeOf(String key, Bitmap bitmap) {
return bitmap.getRowBytes() * bitmap.getHeight();
}
};
}
@Override
public Bitmap getBitmap(String url) {
return mCache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
mCache.put(url, bitmap);
}
}
volley get post json imagerequest imageloader networkimageview 加载网络本地图片的更多相关文章
- 利用LruCache为GridView加载大量本地图片完整示例
MainActivity如下: package cc.testlrucache; import android.os.Bundle; import android.widget.GridView; i ...
- [WinForm]dataGridView动态加载以本地图片显示列
增加一个图片列: C# private void btnQuery_Click(object sender, EventArgs e) { StringBuilder sb=new StringBui ...
- Android框架Volley之:利用Imageloader和NetWorkImageView加载图片
首先我们在项目中导入这个框架: implementation 'com.mcxiaoke.volley:library:1.0.19' 在AndroidManifest文件当中添加网络权限: < ...
- android ImageLoader 混淆加载drawable出现黑色图片的解决方案
在网上找了很久,没有找到.后来看了源码才知道... 多线程异步加载和显示图片(图片来源于网络.sd卡.assets文件夹,drawable文件夹(不能加载9patch),新增加载视频缩略图) Stri ...
- VS调试时JSON格式文件无法加载
VS调试时JSON格式文件无法加载 报错: 解决:在项目中的web.config中进行配置,configuration节中添加以下部份: <system.webServer> <st ...
- Android开发技巧——TextView加载HTML的图片及代码显示问题
前几天在做一个Gradle用户指南的应用程序,使用的是TextView来加载HTML内容(至于为什么不用WebView,我也没有认真使用并比较过,也许以后会换吧),其中遇见了一些纠结的问题,所幸主要的 ...
- Cordova页面加载外网图片失败,Refused to load the image
原文:Cordova页面加载外网图片失败,Refused to load the image 1.使用Cordova页面加载外网图片失败,抛出异常 Refused to load the image ...
- 如何在启用SharePoint浏览器功能的InfoPath 表单中添加托管代码以动态地加载并显示图片
InfoPath 的浏览器表单不支持加载并显示图片,当然在模板中可以插入图片,但是如果想显示数据库的一幅图片,或是动态加载一张图片就无能为力了. 基实这个问题可以通过在浏览器表单中使用: " ...
- 转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关 ...
随机推荐
- Python Challenge 第五关
进入第五关,一张图和一行提示: pronounce it.右键源代码,只有一行注释: <!-- peak hell sounds familiar ? --> peak hell 听起来熟 ...
- Codeforces635C XOR Equation【数学】
题目链接: http://codeforces.com/contest/635/problem/C 题意: 给定两个数的和s及异或x,求两个数的可能情况. 分析: 我们有公式a+b=a& b∗ ...
- HttpClient的Post请求数据
最近在项目中需要添加Post请求数据,以前的Get请求是使用JDK自带的URLConnection.在项目组人员的推荐下,开始使用HttpClient. HttpClient简介: HttpClien ...
- bootstrap-datetimepicker时间控件的使用
官方文档:http://www.bootcss.com/p/bootstrap-datetimepicker/demo.htm 常规使用: <div class="input-grou ...
- 算法之美--3.2.2 MP算法
这块硬骨头,放在这里半年的时间了,一直没有动,今天周末看看,书上把过程写的比较详细,自己基本也看懂了,但是对代码本身的编写还是比较生疏,要经常复习,估计才能看透,后面有看了kmp;这两者之间的关系也是 ...
- 2.SOAP 语法
SOAP 消息的基本结构 <?xml version="1.0"?> <soap:Envelope xmlns="http://www.w3.org/2 ...
- [转载] C/C++中怎样获取日期和时间
C/C++中怎样获取日期和时间摘要: 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时.时间的获取.时间的计算和显示格式等方面进行了阐述.本文还通过大量的 ...
- Segmentation fault(core dumped) 调试
ReadingList: https://mytechrants.wordpress.com/2009/05/22/debugging-a-segmentation-fault-using-gdb/ ...
- Free Pascal 的安装
Free Pascal 的安装 https://www.cnblogs.com/cnssc/p/6110492.html https://wenku.baidu.com/view/ee80cc8eed ...
- Android pull to Refresh 导入出错?
今天在导入 PuultoResfresh 的时候老是出错. error: [2014-09-28 10:04:44 - library] Unable to resolve target 'andro ...