标签:
原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。
http://glblong.blog.51cto.com/3058613/1406758
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
public
void
loadGetJson(String url)
{
//创建RequestQueue对象,一个activity创建一个对象即可
RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext());
//创建get方法的json请求对象
StringRequest sr =
new
StringRequest(url,
new
Listener<String>()
{
@Override
public
void
onResponse(String response)
{
Log.e(
"onResponse"
,
""
+ response);
}
},
new
ErrorListener()
{
@Override
public
void
onErrorResponse(VolleyError error)
{
Log.e(
"onErrorResponse"
,
""
+ error.toString());
}
});
//将请求对象加入到请求队列里
mQueue.add(sr);
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
RequestQueue requestQueue = Volley.newRequestQueue(
this
);
StringRequest sRequest=
new
StringRequest(Request.Method.GET,CITY_CODE_URL,
new
Listener<String>() {
@Override
public
void
onResponse(String response) {
System.out.println(response);
}
},
new
Response.ErrorListener() {
@Override
public
void
onErrorResponse(VolleyError arg0) {
System.out.println(
"sorry,Error"
);
}
});
sRequest.setShouldCache(
false
);
requestQueue.add(sRequest);
|
1
2
3
4
5
6
7
8
9
|
StringRequest stringRequest =
new
StringRequest(Method.POST, url, listener, errorListener) {
@Override
protected
Map<String, String> getParams()
throws
AuthFailureError {
Map<String, String> map =
new
HashMap<String, String>();
map.put(
"params1"
,
"value1"
);
map.put(
"params2"
,
"value2"
);
return
map;
}
};
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
public
void
loadPostLogin(String url)
{
RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext());
StringRequest sr =
new
StringRequest(Request.Method.POST, url,
new
Listener<String>()
{
@Override
public
void
onResponse(String response)
{
Log.e(
"onResponse"
,
""
+ response);
}
},
new
ErrorListener()
{
@Override
public
void
onErrorResponse(VolleyError error)
{
Log.e(
"onErrorResponse"
,
""
+ error.toString());
}
})
{
@Override
protected
Map<String, String> getParams()
throws
AuthFailureError
{
Map<String, String> map =
new
HashMap<String, String>();
map.put(
"UserName"
,
"glblong"
);
map.put(
"PassWord"
,
"123456"
);
return
map;
}
};
mQueue.add(sr);
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
JsonObjectRequest jsonObjectRequest =
new
JsonObjectRequest(url,
null
,
new
Response.Listener<JSONObject>()
{
@Override
public
void
onResponse(JSONObject response)
{
Log.d(
"TAG"
, response.toString());
}
},
new
Response.ErrorListener()
{
@Override
public
void
onErrorResponse(VolleyError error)
{
Log.e(
"TAG"
, error.getMessage(), error);
}
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
/**
* 第三第四个参数分别用于指定允许图片最大的宽度和高度,如果指定的网络图片的宽度或高度大于这里的最大值,则会对图片进行压缩,
* 指定成0的话就表示不管图片有多大,都不会进行压缩。
*
* @param url
* 图片地址
* @param listener
* @param maxWidth
* 指定允许图片最大的宽度
* @param maxHeight
* 指定允许图片最大的高度
* @param decodeConfig
* 指定图片的颜色属性,Bitmap.Config下的几个常量.
* @param errorListener
*/
public
void
getImgRequest(
final
ImageView iv, String url)
{
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
ImageRequest ir =
new
ImageRequest(url,
new
Listener<Bitmap>()
{
public
void
onResponse(Bitmap response)
{
iv.setImageBitmap(response);
};
},
0
,
0
, Config.RGB_565,
new
ErrorListener()
{
@Override
public
void
onErrorResponse(VolleyError error)
{
// TODO Auto-generated method stub
}
});
queue.add(ir);
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
//1.创建RequestQueue实例
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
//2.创建ImageLoader实例,ImageCache需要重写才能实现缓存
ImageLoader il =
new
ImageLoader(queue,
new
ImageCache()
{
@Override
public
void
putBitmap(String url, Bitmap bitmap)
{
// TODO Auto-generated method stub
}
@Override
public
Bitmap getBitmap(String url)
{
// TODO Auto-generated method stub
return
null
;
}
});
//3.创建ImageListener实例,设置默认图片和加载失败图片
ImageListener listener = ImageLoader.getImageListener(iv, R.drawable.img_loading, R.drawable.img_failed);
//4.通过get方法加载图片
il.get(url, listener);
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import
android.graphics.Bitmap;
import
android.support.v4.util.LruCache;
import
com.android.volley.toolbox.ImageLoader.ImageCache;
public
class
ImageLoaderCache
implements
ImageCache
{
private
LruCache<String, Bitmap> mCache;
public
ImageLoaderCache()
{
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);
}
}
|
1
2
3
4
5
6
7
8
|
public
void
getImgLoader(ImageView iv,String url)
{
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
ImageLoader il =
new
ImageLoader(queue,
new
ImageLoaderCache());
ImageListener listener = ImageLoader.getImageListener(iv, R.drawable.img_loading, R.drawable.img_failed);
//加载并限定图片宽度和高度
il.get(url, listener,
200
,
300
);
}
|
1
2
3
4
5
6
7
|
<com.android.volley.toolbox.NetworkImageView
android:id=
"@+id/networkImageView1"
android:layout_width=
"120dp"
android:layout_height=
"120dp"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"60dp"
android:src=
"@drawable/ic_launcher"
/>
|
1
2
3
4
5
6
7
8
|
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
ImageLoader imageLoader =
new
ImageLoader(queue,
new
ImageLoaderCache());
NetworkImageView niv = (NetworkImageView) findViewById(R.id.networkImageView1);
niv.setDefaultImageResId(R.drawable.img_loading);
niv.setErrorImageResId(R.drawable.img_failed);
niv.setImageUrl(url, imageLoader);
|
1
|
request.setTag(
"My Tag"
);
|
1
|
ApplicationController.getInstance().addToRequestQueue(request,
"My Tag"
);
|
1
|
mRequestQueue.cancelAll(
"My Tag"
);
|