vollery异步加载图片
来源:互联网 发布:js将div disabled属性 编辑:程序博客网 时间:2024/05/16 01:17
package
cc.testvolley;
import
org.json.JSONObject;
import
android.app.Activity;
import
android.app.ProgressDialog;
import
android.graphics.Bitmap;
import
android.os.Bundle;
import
android.support.v4.util.LruCache;
import
android.widget.ImageView;
import
com.android.volley.Request;
import
com.android.volley.RequestQueue;
import
com.android.volley.Response;
import
com.android.volley.VolleyError;
import
com.android.volley.toolbox.ImageLoader;
import
com.android.volley.toolbox.ImageLoader.ImageCache;
import
com.android.volley.toolbox.ImageLoader.ImageListener;
import
com.android.volley.toolbox.JsonObjectRequest;
import
com.android.volley.toolbox.NetworkImageView;
import
com.android.volley.toolbox.Volley;
/**
* Demo描述:
* 1 利用Volley获取JSON数据
* 2 利用Volley异步加载图片
* 1 利用NetworkImageView加载网路图片
*
* 参考资料:
* 1 http://blog.csdn.net/t12x3456/article/details/9221611
* 2 http://blog.csdn.net/xyz_lmn/article/details/12063561
* 3 http://blog.csdn.net/lfdfhl/article/details/12221875
* Thank you very much
*/
public
class
MainActivity
extends
Activity {
private
ImageView mImageView;
private
NetworkImageView mNetworkImageView;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private
void
init(){
mImageView=(ImageView) findViewById(R.id.imageView);
mNetworkImageView=(NetworkImageView)findViewById(R.id.networkImageView);
getJSONByVolley();
loadImageByVolley();
showImageByNetworkImageView();
}
/**
* 利用Volley获取JSON数据
*/
private
void
getJSONByVolley() {
RequestQueue requestQueue = Volley.newRequestQueue(
this
);
String JSONDataUrl =
"http://pipes.yahooapis.com/pipes/pipe.run?_id=giWz8Vc33BG6rQEQo_NLYQ&_render=json"
;
final
ProgressDialog progressDialog = ProgressDialog.show(
this
,
"This is title"
,
"...Loading..."
);
JsonObjectRequest jsonObjectRequest =
new
JsonObjectRequest(
Request.Method.GET,
JSONDataUrl,
null
,
new
Response.Listener<JSONObject>() {
@Override
public
void
onResponse(JSONObject response) {
System.out.println(
"response="
+response);
if
(progressDialog.isShowing()&&progressDialog!=
null
) {
progressDialog.dismiss();
}
}
},
new
Response.ErrorListener() {
@Override
public
void
onErrorResponse(VolleyError arg0) {
System.out.println(
"sorry,Error"
);
}
});
requestQueue.add(jsonObjectRequest);
}
/**
* 利用Volley异步加载图片
*
* 注意方法参数:
* getImageListener(ImageView view, int defaultImageResId, int errorImageResId)
* 第一个参数:显示图片的ImageView
* 第二个参数:默认显示的图片资源
* 第三个参数:加载错误时显示的图片资源
*/
private
void
loadImageByVolley(){
String imageUrl=
"http://avatar.csdn.net/6/6/D/1_lfdfhl.jpg"
;
RequestQueue requestQueue = Volley.newRequestQueue(
this
);
final
LruCache<String, Bitmap> lruCache =
new
LruCache<String, Bitmap>(
20
);
ImageCache imageCache =
new
ImageCache() {
@Override
public
void
putBitmap(String key, Bitmap value) {
lruCache.put(key, value);
}
@Override
public
Bitmap getBitmap(String key) {
return
lruCache.get(key);
}
};
ImageLoader imageLoader =
new
ImageLoader(requestQueue, imageCache);
ImageListener listener = ImageLoader.getImageListener(mImageView, R.drawable.ic_launcher,R.drawable.ic_launcher);
imageLoader.get(imageUrl, listener);
}
/**
* 利用NetworkImageView显示网络图片
*/
private
void
showImageByNetworkImageView(){
String imageUrl=
"http://avatar.csdn.net/6/6/D/1_lfdfhl.jpg"
;
RequestQueue requestQueue = Volley.newRequestQueue(
this
);
final
LruCache<String, Bitmap> lruCache =
new
LruCache<String, Bitmap>(
20
);
ImageCache imageCache =
new
ImageCache() {
@Override
public
void
putBitmap(String key, Bitmap value) {
lruCache.put(key, value);
}
@Override
public
Bitmap getBitmap(String key) {
return
lruCache.get(key);
}
};
ImageLoader imageLoader =
new
ImageLoader(requestQueue, imageCache);
mNetworkImageView.setTag(
"url"
);
mNetworkImageView.setImageUrl(imageUrl,imageLoader);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<
RelativeLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
xmlns:tools
=
"http://schemas.android.com/tools"
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
>
<
com.android.volley.toolbox.NetworkImageView
android:id
=
"@+id/networkImageView"
android:layout_width
=
"120dip"
android:layout_height
=
"120dip"
android:layout_centerHorizontal
=
"true"
android:layout_marginTop
=
"30dip"
/>
<
ImageView
android:id
=
"@+id/imageView"
android:layout_width
=
"120dip"
android:layout_height
=
"120dip"
android:layout_centerInParent
=
"true"
/>
</
RelativeLayout
>
0 0
- vollery异步加载图片
- Vollery加载图片的小Demo
- Vollery的图片载入使用
- 异步加载图片
- 异步加载图片
- ajax异步加载图片
- android异步加载图片
- 异步图片加载实例
- android 异步加载图片
- 图片异步加载
- list 异步加载图片
- 异步加载本地 图片
- UITableView 异步加载图片
- android异步加载图片
- inputstream 异步加载图片
- iPhone 异步加载图片
- android异步加载图片
- 图片的异步加载
- HDU ACM 5224 Tom and paper 水题+暴力枚举
- 【c语言】递归实现厄密多项式
- Activity中的setDefaultKeyMode()基本用法
- RequireJS 2.0 正式发布
- 本地socket(unix domain socket)
- vollery异步加载图片
- java学习笔记6对于制作项目,数据的存储用这个ObjectOutputStream
- Android px, dp, sp的区别
- 重构的定义
- 在mac中为常用命令设置别名
- OI比赛经验总结
- 有关位元码的资料1:
- C++ new 创建二维数组
- 互联网+来了,你准备好了吗?