android框架Volley學習demo

(1)ImageLoader獲取圖片

public class HomeActivity extends Activity 
{
        private ImageLoader mImageLoader;
	private RequestQueue requestQueue;
	private SWAdapter listSwAdapter;
	private void initValue()
	{
		this.requestQueue = Volley.newRequestQueue(this);
		this.mImageLoader = new ImageLoader(requestQueue,new ImageBitmapCache());
		this.mImageLoader.get("http://ar.ephhk.com/child/life/upload/apkicon/ic_ds.png", 
		ImageLoader.getImageListener(this.mImageView, R.drawable.ic_launcher, R.drawable.ic_launcher));
		
	}
/**
	 * get獲取數據
	 */
	private void getJsonData()
	{
		String url = "http://ar.ephhk.com/child/life/index.php?r=api/GetCreativeSw";
		JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, 
				new Response.Listener<JSONObject>() {
					@Override
					public void onResponse(JSONObject jsonObject) {
					}
				},errorListener);
		requestQueue.add(jsonObjectRequest);
		
	}
	/**
	 * post獲取數據
	 */
	private void postJsonData(int categoryId)
	{
		/**
		 * 判斷網絡是否可用
		 */
		String url = "http://localhost/trialapk/index.php?r=api/GetSWList";
		HashMap<String,String> params = new HashMap<String,String>();
		params.put("pagesize",pagesize + "");
		params.put("pageindex",pageIndex + "");
		params.put("category_id",categoryId + "");
		params.put("pagecount",pagecount + "");
		JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST,url, new JSONObject(params),
				new Response.Listener<JSONObject>() {
					@Override
					public void onResponse(JSONObject jsonObject) {
						
					}
				},errorListener);
	}
	/**
	 * 請求錯誤事件監聽
	 */
	private Response.ErrorListener errorListener= new Response.ErrorListener(){


		@Override
		public void onErrorResponse(VolleyError error) {
			if (error instanceof NetworkError) {
				 Toast.makeText(HomeActivity.this, "網路錯誤",Toast.LENGTH_SHORT);
            }else if (error instanceof ClientError) {  
				 Toast.makeText(HomeActivity.this, "客戶端錯誤",Toast.LENGTH_SHORT);
            } else if (error instanceof ServerError) {  
           	 Toast.makeText(HomeActivity.this, "服務端錯誤",Toast.LENGTH_SHORT);
            } else if (error instanceof AuthFailureError) {
           	 Toast.makeText(HomeActivity.this, "驗證錯誤",Toast.LENGTH_SHORT);
            } else if (error instanceof ParseError) {
           	 Toast.makeText(HomeActivity.this, "解析錯誤",Toast.LENGTH_SHORT);
            } else if (error instanceof NoConnectionError){
           	 Toast.makeText(HomeActivity.this, "無連接錯誤",Toast.LENGTH_SHORT);
            } else if (error instanceof TimeoutError) {
           	 Toast.makeText(HomeActivity.this, "連接超時",Toast.LENGTH_SHORT);
            }  
		}
		
	};



ImageBitmapCache.java

package com.lzp.elearning.common.Downloader;

import android.graphics.Bitmap;
import android.support.v4.util.LruCache;

import com.android.volley.toolbox.ImageLoader.ImageCache;

public class ImageBitmapCache implements ImageCache 
{
	private LruCache<String,Bitmap> mCache;
	//圖片緩存的最大空間
	private final static int maxSize = 8 * 1024 * 1024;
	

	public ImageBitmapCache(){
		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);
	}
	
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章