This article mainly from two aspects of the Android volley framework of the use of the method to explain, the specific contents are as follows
First, the network request
1.get Mode request data
1 Create a request queue
requestqueue Requestqueue = Volley.newrequestqueue (volleyactivity.this);
2 Create a request
String URL = "Http://api.m.mtime.cn/PageSubArea/TrailerList.api";
Stringrequest stringrequest = new Stringrequest (URL, new response.listener<string> () {
//Receive data callback correctly
@ Override public
void Onresponse (String s) {
tv_volley_result.settext (s);
}
, new Response.errorlistener () {//Listener callback After an exception has occurred
@Override public
void Onerrorresponse (Volleyerror volleyerror) {
Tv_volley_result.settext ("Load failed" + Volleyerror);
}
);
3 Add the created request to the request queue
Requestqueue.add (stringrequest);
2.post Mode request data
1 Create a request queue
requestqueue Requestqueue = Volley.newrequestqueue (volleyactivity.this);
2 Create a POST request
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 ("request failed" + Volleyerror);
}
) {
@Override
protected map<string, string> Getparams () throws Authfailureerror {map<string
, string> map = new hashmap<string, string> (); map.put ("value1", "param1");
return map;
}
;
3 Add a POST request to the queue
Requestqueue.add (stringrequest);
3. Request JSON data
1 Create a request queue
requestqueue Requestqueue = Volley.newrequestqueue (volleyactivity.this);
2 Create a request
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 ("request failed" + Volleyerror);
}
);
3 Add the created request to the request queue
Requestqueue.add (jsonobjectrequest);
Second, picture loading
1.ImageRequest Load Picture
1 Create a request queue
requestqueue Requestqueue = Volley.newrequestqueue (volleyactivity.this);
2 Create a picture of the request
String url = "Yun_qi_img/160347.30270341.jpg";
Imagerequest imagerequest = new Imagerequest (URL, new response.listener<bitmap> () {
@Override
public void Onresponse (Bitmap Bitmap) {
//correctly received picture
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 Add the request to the request queue
Requestqueue.add (imagerequest);
2.Imageloader Load Picture
Create a request queue
requestqueue Requestqueue = Volley.newrequestqueue (volleyactivity.this);
Imageloader Imageloader = new Imageloader (Requestqueue, New Bitmapcache ());
Load picture
String url = "Yun_qi_img/160347.30270341.jpg";
Imageloader.imagelistener Imagelistener = Imageloader.getimagelistener (Iv_volley_result, R.drawable.atguigu_logo, R.drawable.atguigu_logo);
Imageloader.get (URL, imagelistener);
Bitmapcache.java
public class Bitmapcache implements Imageloader.imagecache {
private lrucache<string, bitmap> Mcache;
Public Bitmapcache () {
int maxSize = 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);
}
3.NetworkImageView Load Picture
<com.android.volley.toolbox.networkimageview
android:id= "@+id/iv_volley_networkimagview"
android: Layout_width= "200DP"
android:layout_height= "200DP"
android:visibility= "Gone" >
</ Com.android.volley.toolbox.networkimageview>
Create a request queue
requestqueue Requestqueue = Volley.newrequestqueue (volleyactivity.this);
Create a imageloader
imageloader imageloader = new Imageloader (Requestqueue, New Bitmapcache ());
Default picture and exception picture settings
Iv_volley_networkimagview.setdefaultimageresid (R.drawable.atguigu_logo);
Iv_volley_networkimagview.seterrorimageresid (R.drawable.atguigu_logo);
Load picture
String url = "Yun_qi_img/160347.30270341.jpg";
Iv_volley_networkimagview.setimageurl (URL, imageloader);