android 相册 标签,android 获取相册列表的实现(四)

该项目实现的功能如下:

获取手机相册,点击每个相册之后进入该相册的图片列表界面,在图片列表界面可以实现图片多选,然后进入所选择的图片界面,在该界面内可以实现所选图片的上传等功能。

该项目最大特色:

1、获取相册列表,目前网络上面介绍获取相册的项目很少,本文专门讲述相册的获取。

2、使用Android-Universal-Image-Loader集成框架-第三方jar包加载本地图片,熟悉这个jar的开发者肯定不陌生,该jar包十分强大,除了可以获取网络图片,本地图片也是可以的。同时,通过引用第三方jar可以有效解决OOM异常问题。

本篇继续上面三篇博文的内容讲述,下面给出在选定的相册里面的图片之后,Activity跳转到所选择的图片的界面,就是把所选择的图片加载到界面当中显示,这样处理方便开发者对所选择的图片进行处理,如上传等可以根据自己的需求进一步开发。

下面给出Activity类的代码:

public class SelectedImagesActivity extends Activity implements OnClickListener{

private GridView gridView;

private TextView back,ok;

private ArrayList arrayList;//存放所选择的图片列表

private SelectedImagesAdapter adapter;//适配器

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.selected_images_grid);

init();

setclickListener();

}

@SuppressWarnings("unchecked")

private void init(){

gridView = (GridView) findViewById(R.id.selected_images_gridv);

back = (TextView) findViewById(R.id.back);

ok = (TextView) findViewById(R.id.sure);

arrayList = (ArrayList) getIntent().getSerializableExtra("selectIma");

adapter = new SelectedImagesAdapter(SelectedImagesActivity.this,

arrayList);

gridView.setAdapter(adapter);

}

private void setclickListener(){

back.setOnClickListener(this);

ok.setOnClickListener(this);

gridView.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view,

int position, long id) {

}

});

}

@Override

protected void onDestroy() {

super.onDestroy();

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.back:

finish();

break;

case R.id.sure:

Toast.makeText(SelectedImagesActivity.this,

"上传等操作,开发者可以自己处理", Toast.LENGTH_LONG).show();

break;

}

}

}

Activity类代码很简单,下面给出适配器代码:

public class SelectedImagesAdapter extends BaseAdapter {

private ArrayList arrayList;

private LayoutInflater layoutInflater;

private ImageLoader imageLoader;

private DisplayImageOptions options;

public SelectedImagesAdapter(Context context,ArrayList arrayList){

this.arrayList = arrayList;

layoutInflater = LayoutInflater.from(context);

imageLoader = ImageLoader.getInstance();

// 使用DisplayImageOption.Builder()创建DisplayImageOptions

options = new DisplayImageOptions.Builder()

.showStubImage(R.drawable.album_default_loading_pic)

// 设置图片下载期间显示的图片

.showImageForEmptyUri(R.drawable.album_default_loading_pic)

// 设置图片Uri为空或是错误的时候显示的图片

.showImageOnFail(R.drawable.album_default_loading_pic)

// 设置图片加载或解码过程中发生错误显示的图片

.cacheInMemory(true)

// 设置下载的图片是否缓存在内存中

.cacheOnDisc(true)

// 设置下载的图片是否缓存在SD卡中

// .displayer(new RoundedBitmapDisplayer(20))

// 设置成圆角图片

.bitmapConfig(Config.ARGB_8888)

.imageScaleType(ImageScaleType.IN_SAMPLE_INT)

.build(); // 创建配置过的DisplayImageOption对象

}

@Override

public int getCount() {

return arrayList.size();

}

@Override

public Object getItem(int position) {

return arrayList.get(position);

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

Holder holder;

if (convertView == null) {

convertView = layoutInflater.inflate(R.layout.selected_images_adapter_item, parent, false);

holder = new Holder();

holder.imageView = (ImageView) convertView.findViewById(R.id.selected_image_item);

convertView.setTag(holder);

}else {

holder = (Holder) convertView.getTag();

}

imageLoader.displayImage("file://"+arrayList.get(position).getImagePath(), holder.imageView,

options);

return convertView;

}

class Holder{

ImageView imageView;

}

}

适配器代码也很简单,直接使用图片加载器-第三方jar包实现,点击确定按钮开发者可以进行后续的开发工作。

至此整个项目讲述完毕。如果各位朋友有什么疑问或者发现文中有误,请不吝赐教!非常感谢!同时,由于本人水平有限,如果博文中有什么错误的地方,请多多包涵,欢迎批评指正!【握手】

源码下载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值