There's nothing in Activity_main.xml.
Androidmanifest.xml (emphasis is android:name= "com.example.volley.MyApplication")
<?xml version= "1.0" encoding= "Utf-8"? ><manifest xmlns:android= "http://schemas.android.com/apk/res/ Android "package=" Com.example.volley "android:versioncode=" 1 "android:versionname=" 1.0 "> <uses-sdk android:minsdkversion= "android:targetsdkversion="/> <application android:name= "Com.examp" Le.volley.MyApplication "android:allowbackup=" true "android:icon=" @drawable/ic_launcher "Android:labe L= "@string/app_name" android:theme= "@style/apptheme" > <activity android:name= ". Mainactivity "android:label=" @string/app_name "> <intent-filter> <action Android:name= "Android.intent.action.MAIN"/> <category android:name= "Android.intent.category.LAUNCHER "/> </intent-filter> </activity> </application> <uses-permission android: Name= "Android.permission.INTERNET"/></manifEst>
MyApplication
Package Com.example.volley;import Com.android.volley.requestqueue;import Com.android.volley.toolbox.volley;import Android.app.application;public class MyApplication extends application {public static requestqueue queue;/** Once created, create the Requestqueue request queue */@Overridepublic void OnCreate () {super.oncreate (); queue = Volley.newrequestqueue ( Getapplicationcontext ());} /** */public static Requestqueue Gethttprequestqueue () {return queue;}
Mainactivity
Package Com.example.volley;import Java.io.file;import Java.io.fileinputstream;import java.io.inputstream;import Java.util.hashmap;import Java.util.map;import Org.json.jsonobject;import Com.android.volley.request.method;import Com.android.volley.authfailureerror;import Com.android.volley.response;import Com.android.volley.response.listener;import Com.android.volley.volleyerror;import Com.android.volley.toolbox.jsonobjectrequest;import Com.android.volley.toolbox.stringrequest;import Android.app.activity;import Android.os.bundle;import Android.util.log;import Android.widget.toast;public class Mainactivity extends Activity {/** * Associate activity, cancel all network requests after exiting, release resources */@Overrideprotected void OnStop () {super.onstop (); Myapplication.gethttprequestqueue (). Cancelall ("Abcget");} @Overrideprotected void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); Setcontentview ( R.layout.activity_main);//volley_get (); Volley_post ();} /** * GET request mode */private void Volley_get () {/** * String type */string url = "http://www.imooc.com/api/teacher?type=4&num=30"; Stringrequest request = new Stringrequest (Method.get, Url,new listener<string> () {@Overridepublic void Onresponse (String arg0) {//Returns the correct Operation LOG.E ("TAG", "" "+arg0);}}, New Response.errorlistener () {@Overridepublic void Onerrorresponse (volleyerror arg0) {}});//Set Label Request.settag ("Abcget"); Myapplication.gethttprequestqueue (). Add (Request); Myapplication.gethttprequestqueue (). Start (),/** * jsonobjectrequest type because the Get parameter is already written in the URL, the pass-through is empty to */jsonobjectrequest Jsonobjectrequest = new Jsonobjectrequest (Method.get,url, NULL, new Listener<jsonobject> () {@Overridepublic void Onresponse (Jsonobject arg0) {toast.maketext (Mainactivity.this, arg0.tostring (), 0). Show ();}}, New Response.errorlistener () {@Overridepublic void Onerrorresponse (Volleyerror arg0) {}});// Set the label Jsonobjectrequest.settag ("Bcdget"); Myapplication.gethttprequestqueue (). Add (Jsonobjectrequest); Myapplication.gethttprequestqueue (). Start (),/** * and Jsonarray way, omitted here ... */}/** * POST request mode */private void Volley_post () {/** * stringrequest---post method */string url = "Http://www.imooc.com/api/teacher?" ; Stringrequest request = new Stringrequest (Method.post, Url,new listener<string> () {@Overridepublic void Onresponse (String arg0) {log.e ("TAG", "" "+arg0);}}, New Response.errorlistener () {@Overridepublic void Onerrorresponse ( Volleyerror arg0) {}}) {@Overrideprotected map<string, string> getparams () throws Authfailureerror {//Pass parameters map< String, string> map = new hashmap<string, string> (), Map.put ("type", "4"), Map.put ("num", "$"), return map;}};/ /Set Label Request.settag ("Abcpost"); Myapplication.gethttprequestqueue (). Add (Request); Myapplication.gethttprequestqueue (). Start (),/** * jsonobject--post mode */hashmap<string, string> map = new HashMap <string, String> (), Map.put ("type", "4"), Map.put ("num", "30");//convert map to Jsonobject objects Jsonobject object = new Jsonobject (map); Jsonobjectrequest jsonobjectrequest = new Jsonobjectrequest (Method.post, Url,object,New Listener<jsonobject> () {@Overridepublic void Onresponse (Jsonobject arg0) {log.e ("TAG", arg0.tostring ());}}, New Response.errorlistener () {@Overridepublic void Onerrorresponse (Volleyerror arg0) {}});// Set the label Jsonobjectrequest.settag ("Bcdpost"); Myapplication.gethttprequestqueue (). Add (Jsonobjectrequest); Myapplication.gethttprequestqueue (). Start ();}}
Download Web Image **********************************************
Androidmanifest.xml (emphasis is android:name= "com.example.volleyimagedemo.MyApplication")
<?xml version= "1.0" encoding= "Utf-8"? ><manifest xmlns:android= "http://schemas.android.com/apk/res/ Android "package=" Com.example.volleyimagedemo "android:versioncode=" 1 "android:versionname=" 1.0 "> <uses -SDK android:minsdkversion= "android:targetsdkversion=" "/> <application android:name=" Com.example.volleyimagedemo.MyApplication "android:allowbackup=" true "android:icon=" @drawable/ic_launcher " Android:label= "@string/app_name" android:theme= "@style/apptheme" > <activity android: Name= ". Mainactivity "android:label=" @string/app_name "> <intent-filter> <action Android:name= "Android.intent.action.MAIN"/> <category android:name= "Android.intent.category.LAUNCHER "/> </intent-filter> </activity> </application> <uses-permission android: Name= "Android.permission.INTERNET "/></manifest>
Activity_main.xml
<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:orientation= "vertical" tools:context= "com.example.volleyimagedemo.MainActivity" > <! --Way one-- <imageview android:id= "@+id/imageview1" android:layout_width= "Fill_parent" android:layout_height= "Wrap_content"/> <!--way Two-- <imageview android:id= "@+id/ Imageview2 " android:layout_width=" fill_parent " android:layout_height=" wrap_content "/> <!- -Way three--- <com.android.volley.toolbox.networkimageview android:id= "@+id/networkimageview" Android:layout_width= "Fill_parent" android:layout_height= "wrap_content" > </ Com.android.volley.toolbox.networkimageview> </LinearLayout>
MyApplication
Package Com.example.volleyimagedemo;import Com.android.volley.requestqueue;import Com.android.volley.toolbox.volley;import Android.app.application;public class MyApplication extends Application { public static requestqueue queue; @Overridepublic void OnCreate () {super.oncreate (); queue = Volley.newrequestqueue ( Getapplicationcontext ());} public static Requestqueue Gethttprequestqueue () {return queue;}}
Bitmapcache
Package Com.example.volleyimagedemo;import Android.graphics.bitmap;import Android.util.lrucache;import Com.android.volley.toolbox.imageloader.imagecache;public class Bitmapcache implements Imagecache{public LruCache <string, bitmap> cache;//more than 10 MB, auto reclaim public int max = 10*1024*1024;public Bitmapcache () {cache = new lrucache< String, bitmap> (max) {@Overrideprotected int sizeOf (string key, Bitmap value) {return value.getrowbytes () * Value.getheight ();}};} @Overridepublic Bitmap Getbitmap (String arg0) {return cache.get (arg0);} @Overridepublic void Putbitmap (String arg0, Bitmap arg1) {cache.put (arg0, arg1);}}
Mainactivity
Package Com.example.volleyimagedemo;import Android.app.activity;import Android.graphics.bitmap;import Android.graphics.bitmap.config;import Android.os.bundle;import Android.widget.imageview;import Com.android.volley.response;import Com.android.volley.response.listener;import Com.android.volley.VolleyError; Import Com.android.volley.toolbox.imageloader;import Com.android.volley.toolbox.imageloader.imagelistener;import Com.android.volley.toolbox.imagerequest;import Com.android.volley.toolbox.networkimageview;public Class Mainactivity extends Activity {private ImageView imageview1;private ImageView imageview2;private Networkimageview Networkimageview; @Overrideprotected void OnCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); Setcontentview (r.layout.activity_main);/** gets control, picture URL address */imageview1 = (ImageView) Findviewbyid (R.ID.IMAGEVIEW1); Imageview2 = (ImageView) Findviewbyid (r.id.imageview2); Networkimageview = (Networkimageview) Findviewbyid ( R.id.networkimageview); Stringurl = "Http://img.mukewang.com/55237dcc0001128c06000338-300-170.jpg";/** * the second way to download images Imageloader+bitmapcache */// Imagecache single belly use is less than the cache effect, need to combine lrucacheimageloader imageLoader1 = new Imageloader (Myapplication.gethttprequestqueue (), New Bitmapcache ()); Networkimageview.setdefaultimageresid (R.drawable.ic_launcher); Networkimageview.seterrorimageresid (R.drawable.ic_launcher); Networkimageview.setimageurl (URL, imageLoader1);/** * The Third way to download pictures */imageloader imageLoader2 = new Imageloader (Myapplication.gethttprequestqueue (), New Bitmapcache ());// View view, default picture, wrong picture imagelistener listener = Imageloader1.getimagelistener (Imageview2,r.drawable.ic_launcher, R.drawable.ic_launcher); Imageloader2.get (URL, listener);/** * The first way to download a network image imagerequest */////0 is the original way to load--config.rgb _565 original Imagerequest imagerequest = new Imagerequest (url,new listener<bitmap> () {//@Overridepublic void Onresponse (Bitmap arg0) {Imageview1.setimagebitmap (arg0);}}, 0, 0, config.rgb_565, new Response.errorlistener () {@Overridepublic void Onerrorresponse (Volleyerror arg0) {imageview1.setbackgroundresource (r.drawable.ic_launcher);}}); Myapplication.gethttprequestqueue (). Add (Imagerequest); Myapplication.gethttprequestqueue (). Start ();}}
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Volley get, Post mode (Jsonobjectrequest, Stringrequest) and the 3 ways volley get pictures