Using volley to make network requests: you need to first import volley packages into Androidstudio
Project Structrue under File, point Plus Guide package
Volley Network Request steps:
1. Create request queue Requestqueue queue = Volley.newrequestqueue (this);
2. Create Request object (3 kinds)
Stringrequest request = new Stringrequest ("Request Method", "Requested network address", "Successful network callback", "Failed network callback");
Imagerequest request = new Imagerequest ("Picture Path", "Successful callback function", "Picture width", "Picture height", "Picture color attribute", "Failed network callback");
Jsonrequest request = new Jsonrequest ();
3. Put the request object into the request queue Queue.add (requests);
Logoff request: Overriding the OnStop method
@Override
protected void OnStop () {
super.onstop ();
/* Cancel all requests for the current request
/Queue.cancelall (this);
/* Cancel current request queue tag for Get/*
Queue.cancelall ("get");
/* Cancel current request queue tag for post
/Queue.cancelall ("post");
}
Sets the priority of the current request: Overriding the GetPriority method
@Override public
Priority getpriority () {return
priority.low;
}
Set Request headers: Override the GetHeader method
@Override public
map<string, string> getheaders () throws Authfailureerror {
map<string,string> Map = new hashmap<string, string> ();
Map.put ("Apikey", "fc642e216cd19906f642ee930ce28174");
return map;
}
Passing parameters: Overriding the Getparams method
@Override
protected map<string, string> Getparams () throws Authfailureerror {
map<string,string> Map = new hashmap<string, string> ();
Map.put ("num", "ten");
Map.put ("page", "1");
Map.put ("word", "%e6%9e%97%e4%b8%b9");
return map;
}
Code section:
XML file:
<?xml version= "1.0" encoding= "Utf-8"?> <linearlayout 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" android:paddingbottom= "@dimen/activity_vertical_margin" android:paddingleft= "@dimen/activity_ Horizontal_margin "android:paddingright=" @dimen/activity_horizontal_margin "android:paddingtop=" @dimen/activity_
Vertical_margin "android:orientation=" vertical "tools:context=" com.jredu.helloworld.activity.VolleyActivity ">
<webview android:id= "@+id/volleywebview" android:layout_width= "match_parent" android:layout_height= "300DP" > </WebView> <imageview android:id= "@+id/img" android:layout_width= match_parent "android:layout_height=" WR Ap_content "/> <button android:id= @+id/volleybutton" android:layout_width= "Match_parent" Android:layout_heig ht= "Wrap_content" android:layout_margintop= "5DP" android:textaLlcaps= "false" android:text= "Volley"/> <button android:id= "@+id/imgbutton" android:layout_width= "Match_paren" T "android:layout_height=" wrap_content "android:layout_margintop=" 5DP "android:textallcaps=" false "android:text=" V
Olley get Pictures "/> </LinearLayout>
Activity files:
Package com.jredu.helloworld.activity;
Import Android.graphics.Bitmap;
Import Android.os.Bundle;
Import android.support.v7.app.AppCompatActivity;
Import Android.view.View;
Import Android.webkit.WebView;
Import Android.widget.Button;
Import Android.widget.ImageView;
Import Com.android.volley.AuthFailureError;
Import Com.android.volley.NetworkResponse;
Import Com.android.volley.ParseError;
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.HttpHeaderParser;
Import Com.android.volley.toolbox.ImageRequest;
Import Com.android.volley.toolbox.StringRequest;
Import Com.android.volley.toolbox.Volley;
Import COM.JREDU.HELLOWORLD.R;
Import java.io.UnsupportedEncodingException;
Import Java.util.HashMap;
Import Java.util.Map;
public class Volleyactivity extends appcompatactivity {webview webview;
Button button;
Button Imgbutton;
ImageView img; Requestqueuequeue = null;
@Override protected void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate);
Setcontentview (R.layout.activity_volley);
Queue = Volley.newrequestqueue (this);
WebView = (webview) Findviewbyid (R.id.volleywebview);
img = (imageview) Findviewbyid (r.id.img);
Button = (button) Findviewbyid (R.id.volleybutton); Button.setonclicklistener (New View.onclicklistener () {@Override public void OnClick (View v) {DoStringVolley2 ()
;
Dostringvolley ();
}
});
Imgbutton = (Button) Findviewbyid (R.id.imgbutton);
Imgbutton.setonclicklistener (New View.onclicklistener () {@Override public void OnClick (View v) {getimg ();
}
});
/*get method/public void Dostringvolley () {/* Create request queue *///requestqueue queue = Volley.newrequestqueue (this); /* Create Request Object/* Stringrequest request = new Stringrequest (Request.Method.GET, "Http://apis.baidu.com/txapi/tiyu/tiyu ? num=10&page=1&word=%e6%9e%97%e4%b8%b9 ",/*" http://www. baidu.com ", */New Response.listener<string> () {@Override public void Onresponse (String Response) {
String s = response;
Webview.getsettings (). Setdefaulttextencodingname ("Utf-8");
Webview.getsettings (). Setjavascriptenabled (True);
Webview.loaddatawithbaseurl (Null,s, "text/html", "Utf-8", null); }, New Response.errorlistener () {@Override public void Onerrorresponse (Volleyerror error) {Web
View.loaddatawithbaseurl (NULL, "Network connection Failed!!!", "text/html", "Utf-8", null); {/* Set request Header/* @Override public map<string, String> getheaders () throws Authfailureerror {map& Lt
string,string> map = new hashmap<string, string> ();
Map.put ("Apikey", "fc642e216cd19906f642ee930ce28174");
return map; }/* Methods to resolve network request Results * * * @Override protected response<string> parsenetworkresponse (Networkresponse Response) {try {String jsonobject = new String (response.Data, "UTF-8"));
Return response.success (Jsonobject, Httpheaderparser.parsecacheheaders (Response));
catch (Unsupportedencodingexception e) {return response.error (new ParseError (e));
catch (Exception je) {return response.error (new ParseError (JE));
}/* Set the priority of the current request/* @Override public Priority getpriority () {return priority.low;
}
};
Request.settag ("get");
/* Put the request object into the request queue/Queue.add (requests);
/*post method/public void DoStringVolley2 () {/* Create request queue *///requestqueue queue = Volley.newrequestqueue (this); /* Create Request Object/* Stringrequest request = new Stringrequest (Request.Method.POST, "http://www.baidu.com", New RESPO Nse.
Listener<string> () {@Override public void Onresponse (string response) {string s = response;
Webview.getsettings (). Setdefaulttextencodingname ("Utf-8");
Webview.getsettings (). Setjavascriptenabled (True); Webview.loaddatawithbaseurl (Null,s, "text/html", "Utf-8", NULL); }, New Response.errorlistener () {@Override public void Onerrorresponse (Volleyerror error) {Web
View.loaddatawithbaseurl (NULL, "Network connection Failed!!!", "text/html", "Utf-8", null); }} {/* override params Method Write parameter/* * @Override protected map<string, string> Getparams () throws Authfailureerror
{map<string,string> Map = new hashmap<string, string> ();
Map.put ("num", "10");
Map.put ("page", "1");
Map.put ("word", "%e6%9e%97%e4%b8%b9");
return map;
/* Set Request Object Priority * * @Override public Priority getpriority () {return priority.high;
}
};
Request.settag ("post");
/* Put the request object into the request queue/Queue.add (requests); */* Get picture/public void getimg () {imagerequest request = new Imagerequest ("Https://ss0.bdstatic.com/5aV1bjqh_Q23od Cf/static/superman/img/logo/bd_logo1_31bdc765.png ", new Response.listener<bitmap> () {@Override public
void Onresponse (Bitmap response) {Img.setimagebitmap (response); }, 5000, 5000, Bitmap.Config.ARGB_8888, New Response.errorlistener () {@Override public V
OID Onerrorresponse (volleyerror error) {Img.setimageresource (R.DRAWABLE.FIRST5);
}
}
);
Queue.add (Request);
/* Rewrite the OnStop method to unregister the request/@Override protected void OnStop () {super.onstop ();
/* Cancel all requests for the current request/queue.cancelall (this);
/* Cancel current request queue tag for Get/* Queue.cancelall ("get");
/* Cancel current request queue tag for POST request * * * Queue.cancelall ("post");
}
}
Above is the Android Network request library volley method of data collation, follow-up to continue to supplement the relevant information, thank you for your support for this site!