关于voller框架的json image netimage

本文介绍如何使用Volley库进行JSON数据的网络请求及响应处理,并展示了图像加载的不同方式,包括通过ImageLoader和NetworkImageView实现的图像展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JsonObjectRequest

package com.wl.volleytest.activity;

import org.json.JSONObject;

import com.android.volley.Request;
import com.android.volley.Request.Method;
import com.android.volley.RequestQueue;
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.Volley;
import com.wl.volleytest.R;

import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;

public class bt_json extends BaseActivity {
	String uri = "http://op.juhe.cn/onebox/news/words";
	String key = "c72da834ccb8e4bda33a875763541783";
	String TAG = "bt_json";
	RequestQueue queue;

	public bt_json() {
		super(R.layout.bt_json);
		// TODO Auto-generated constructor stub
	}

	@Override
	protected void initData() {
		// TODO Auto-generated method stub
	}

	@Override
	protected void initView() {
		uri = uri + "?key=" + key;
	}

	@Override
	protected void bindView() {
		findViewById(R.id.json).setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				queue = Volley.newRequestQueue(c);
				queue.add(new JsonObjectRequest(Method.GET, uri, null, new Listener<JSONObject>() {
					@Override
					public void onResponse(JSONObject response) {
						TextView tv = (TextView) findViewById(R.id.text);
						tv.setText("response : " + response.toString());
					}

				}, new Response.ErrorListener() {

					@Override
					public void onErrorResponse(VolleyError error) {
						// TODO Auto-generated method stub
						Log.i(TAG, error.getMessage());
					}
				}));
				queue.start();
			}
		});

	}

	@Override
	protected void onStop() {
//		for (JsonObjectRequest req : queue) {
//			req.cancel();
//		}
		super.onStop();
		queue.cancelAll(c);
	}

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
	}
}

queue = Volley.newRequestQueue(c);
queue.add(new JsonObjectRequest(Method.GET, uri, null, new Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
TextView tv = (TextView) findViewById(R.id.text);
tv.setText("response : " + response.toString());
}


}, new Response.ErrorListener() {


@Override
public void onErrorResponse(VolleyError error) {
// TODO Auto-generated method stub
Log.i(TAG, error.getMessage());
}
}));
queue.start();

}
});

@Override
protected void onStop() {
// for (JsonObjectRequest req : queue) {
// req.cancel();
// }
super.onStop();
queue.cancelAll(c);
}


@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}

}

/

ImageLoader

package com.wl.volleytest.activity;

import java.io.File;

import com.android.volley.RequestQueue;
import com.android.volley.toolbox.DiskBasedCache;
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.Volley;
import com.wl.volleytest.R;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v4.util.LruCache;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;

public class bt_image extends BaseActivity {
	String url = "http://p3.so.qhimg.com/t01fb47fac77d3f72b3.jpg";
	ImageView imageView;

	public bt_image() {
		super(R.layout.bt_image);
		// TODO Auto-generated constructor stub
	}


	@Override
	protected void initData() {

	}

	@Override
	protected void initView() {
		// TODO Auto-generated method stub

	}

	@Override
	protected void bindView() {
		imageView = (ImageView) setView(R.id.image);
		findViewById(R.id.json).setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				RequestQueue mRequestQueue = Volley.newRequestQueue(c);  
		        
		        ImageLoader mImageLoader = new ImageLoader(mRequestQueue, new BitmapCache());  
		        // imageView是一个ImageView实例  
		        // ImageLoader.getImageListener的第二个参数是默认的图片resource id  
		        // 第三个参数是请求失败时候的资源id,可以指定为0  
		        ImageListener listener = ImageLoader  
		                .getImageListener(imageView, android.R.drawable.ic_menu_rotate,  
		                        android.R.drawable.ic_delete);  
		        mImageLoader.get(url, listener);  
//				
			}
		});

	}
	public class BitmapCache implements ImageCache {
	    private LruCache<String, Bitmap> cache;
	    public BitmapCache() {
	        cache = new LruCache<String, Bitmap>(8 * 1024 * 1024) {
	            @Override
	            protected int sizeOf(String key, Bitmap bitmap) {
	                return bitmap.getRowBytes() * bitmap.getHeight();
	            }
	        };
	    }
	    @Override
	    public Bitmap getBitmap(String url) {
	        return cache.get(url);
	    }
	    @Override
	    public void putBitmap(String url, Bitmap bitmap) {
	        cache.put(url, bitmap);
	    }
	}
}

 
       // imageView是一个ImageView实例  
       // ImageLoader.getImageListener的第二个参数是默认的图片resource id  
       // 第三个参数是请求失败时候的资源id,可以指定为0  
       ImageListener listener = ImageLoader  
               .getImageListener(imageView, android.R.drawable.ic_menu_rotate,  
                       android.R.drawable.ic_delete);  
       mImageLoader.get(url, listener);  
//
}
});

/

NetworkImageView

package com.wl.volleytest.activity;

import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.NetworkImageView;
import com.android.volley.toolbox.Volley;
import com.android.volley.toolbox.ImageLoader.ImageCache;
import com.android.volley.toolbox.ImageLoader.ImageListener;
import com.wl.volleytest.R;
import com.wl.volleytest.activity.bt_image.BitmapCache;

import android.graphics.Bitmap;
import android.support.v4.util.LruCache;
import android.view.View;
import android.view.View.OnClickListener;

public class bt_networkimageview extends BaseActivity {
	NetworkImageView imageView;
	String url = "http://a.hiphotos.baidu.com/image/pic/item/c995d143ad4bd113ab2e93db5eafa40f4afb0573.jpg";

	public  bt_networkimageview() {
		super(R.layout.bt_networkimageview);
		// TODO Auto-generated constructor stub
	}

	@Override
	protected void initData() {
		 imageView=(NetworkImageView) findViewById(R.id.netimage);

	}

	@Override
	protected void initView() {
		// TODO Auto-generated method stub

	}

	@Override
	protected void bindView() {
		findViewById(R.id.json).setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				RequestQueue mRequestQueue = Volley.newRequestQueue(c);
//				/
				ImageLoader mImageLoader = new ImageLoader(mRequestQueue, new BitmapCache());
						
				imageView.setDefaultImageResId(android.R.drawable.ic_menu_rotate);
				imageView.setErrorImageResId(android.R.drawable.ic_delete);		
				imageView.setImageUrl(url, mImageLoader);
//				///
//				ImageListener listener = ImageLoader.getImageListener(imageView, android.R.drawable.ic_menu_rotate,
//						android.R.drawable.ic_delete);
//				mImageLoader.get(url, listener);
			}
		});

	}

	public class BitmapCache implements ImageCache {
		private LruCache<String, Bitmap> cache;

		public BitmapCache() {
			cache = new LruCache<String, Bitmap>(8 * 1024 * 1024) {
				@Override
				protected int sizeOf(String key, Bitmap bitmap) {
					return bitmap.getRowBytes() * bitmap.getHeight();
				}
			};
		}

		@Override
		public Bitmap getBitmap(String url) {
			return cache.get(url);
		}

		@Override
		public void putBitmap(String url, Bitmap bitmap) {
			cache.put(url, bitmap);
		}
	}
}


RequestQueue mRequestQueue = Volley.newRequestQueue(c);
// /
ImageLoader mImageLoader = new ImageLoader(mRequestQueue, new BitmapCache());

imageView.setDefaultImageResId(android.R.drawable.ic_menu_rotate);// 与imageloader的区别
imageView.setErrorImageResId(android.R.drawable.ic_delete);
imageView.setImageUrl(url, mImageLoader);
}
});


}

、、、、、、、、、、、、、、、、
public class BitmapCache implements ImageCache {
		private LruCache<String, Bitmap> cache;

		public BitmapCache() {
			cache = new LruCache<String, Bitmap>(8 * 1024 * 1024) {
				@Override
				protected int sizeOf(String key, Bitmap bitmap) {
					return bitmap.getRowBytes() * bitmap.getHeight();
				}
			};
		}

		@Override
		public Bitmap getBitmap(String url) {
			return cache.get(url);
		}

		@Override
		public void putBitmap(String url, Bitmap bitmap) {
			cache.put(url, bitmap);
		}
	}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值