Volley get, Post mode (Jsonobjectrequest, Stringrequest) and the 3 ways volley get pictures

Source: Internet
Author: User

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.