MainActivity is as follows:
Package cc. y; import android. app. activity; import android. content. context; import android. graphics. bitmap; import android. graphics. bitmap. config; import android. OS. bundle; import android. util. lruCache; import android. widget. imageView; import com. android. volley. requestQueue; import com. android. volley. response; import com. android. volley. volleyError; import com. android. volley. toolbox. imageLoader; import com. android. volley. toolbox. imageLoader. imageCache; import com. android. volley. toolbox. imageLoader. imageListener; import com. android. volley. toolbox. imageRequest; import com. android. volley. toolbox. networkImageView; import com. android. volley. toolbox. volley;/*** Demo Description: * a simple use of Volley in a project last year, see: * http://blog.csdn.net/lfdfhl/article/details/12223345 * recently guolin wrote several articles detailing Volley, so here we will learn more systematically. * This example mainly includes: * 1 use ImageRequest to load network images for ImageView * 2 Use ImageLoader to load network images for ImageView * 3 Use NetworkImageView to load network images for ImageView ** Note: * 1 introduce the jar package volley. jar * 2 network Permissions
* 3 Volley source code analysis, see * http://blog.csdn.net/guolin_blog/article/details/17656437 * 4 custom XMLRequest and GsonRequest, see * http://blog.csdn.net/guolin_blog/article/details/17612763 ** learning materials: * http://blog.csdn.net/guolin_blog/article/details/17482165 * Thank you very much **/public class MainActivity extends Activity {private Context mContext; private RequestQueue mRequestQueue; private String mUrl = "http://avatar.csdn.net/6/6/D/1_lfdfhl.jpg"; private ImageView mImageView; private ImageRequest mImageRequest; private ImageLoader mImageLoader; private ImageListener mImageListener; private NetworkImageView mNetworkImageView; @ Override public void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. main); init (); // volley_ImageRequest (); // volley_ImageLoader (); volley_NetworkImageView ();} private void init () {mContext = this; mImageView = (ImageView) findViewById (R. id. imageView); mNetworkImageView = (NetworkImageView) findViewById (R. id. networkImageView);} // use ImageRequest to load the network image private void volley_ImageRequest () {mRequestQueue = Volley. newRequestQueue (mContext); mImageRequest = new ImageRequest (mUrl, new Response. listener
() {@ Override public void onResponse (Bitmap response) {mImageView. setImageBitmap (response) ;}, 0, 0, Config. ARGB_8888, new Response. errorListener () {@ Overridepublic void onErrorResponse (VolleyError error) {System. out. println ("failed to get the image, so loading a default image"); mImageView. setImageDrawable (mContext. getResources (). getDrawable (R. drawable. ic_launcher) ;}}); mRequestQueue. add (mImageRequest);} // use ImageLoader to load the network image private void volley_ImageLoader () {mRequestQueue = Volley. newRequestQueue (mContext); mImageLoader = new ImageLoader (mRequestQueue, new ImageCacheImpl (); mImageListener = ImageLoader. getImageListener (mImageView, R. drawable. ic_launcher, R. drawable. ic_launcher); mImageLoader. get (mUrl, mImageListener); // mImageLoader. get (mUrl, mImageListener, 250,250);} // use LruCache to implement image caching mechanism // see: // http://blog.csdn.net/lfdfhl/article/details/18350601private class ImageCacheImpl implements ImageCache {private LruCache
MLruCache; public ImageCacheImpl () {int maxSize = 15*1024*1024; mLruCache = new LruCache
(MaxSize) {@ Overrideprotected int sizeOf (String key, Bitmap bitmap) {return bitmap. getRowBytes () * bitmap. getHeight () ;};}@ Overridepublic Bitmap getBitmap (String url) {return mLruCache. get (url) ;}@ Overridepublic void putBitmap (String url, Bitmap bitmap) {mLruCache. put (url, bitmap) ;}}// use NetworkImageView to load the network image private void volley_NetworkImageView () {mRequestQueue = Volley. newRequestQueue (mContext); mImageLoader = new ImageLoader (mRequestQueue, new ImageCacheImpl (); mNetworkImageView. setDefaultImageResId (R. drawable. ic_launcher); mNetworkImageView. setErrorImageResId (R. drawable. ic_launcher); mNetworkImageView. setImageUrl (mUrl, mImageLoader );}}
Main. xml is as follows: