码迷,mamicode.com
首页 > 其他好文 > 详细

使用ContentProvider管理多媒体-----查看多媒体数据中的所有图片

时间:2016-06-17 15:33:32      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.os.Bundle;
import android.provider.MediaStore.Images.Media;
import android.app.Activity;
import android.database.Cursor;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;

//为view按钮的单击事件绑定监听器
view.setOnClickListener(new OnClickListener() {

  @Override
  public void onClick(View v) {
  // 清空names、descs、fileNames集合里原有的数据
  names.clear();
  descs.clear();
  fileNames.clear();
  //通过ContentResolver查询所有图片信息
  Cursor cursor = getContentResolver().query(
      Media.EXTERNAL_CONTENT_URI, null, null, null, null);
  while(cursor.moveToNext()){
    //获取图片的显示名
    String name = cursor.getString(cursor.getColumnIndex(Media.DISPLAY_NAME));
    //获取图片的详细描述
    String desc = cursor.getString(cursor.getColumnIndex(Media.DESCRIPTION));
    //获取图片的保存位置的数据
    byte[] data = cursor.getBlob(cursor.getColumnIndex(Media.DATA));
    //将图片名添加到names集合中
    names.add(name);
    //将图片描述添加到descs集合中
    descs.add(desc);
    //将图片保存路径添加到fileNames集合中
    fileNames.add(new String(data , 0 ,data.length-1));
  }
  //创建一个List集合,List集合的元素是Map
  List<Map<String, String>> listItems = new ArrayList<Map<String,String>>();
  //将names、descs两个集合对象的数据转换到Map集合中
  for(int i = 0 ;i<names.size();i++){
    Map<String, Object> listItem = new HashMap<String, Object>();
    listItem.put("name", names.get(i));
    listItem.put("desc", descs.get(i));
    listItems.addAll(listItems);
  }
  //创建一个SimpleAdapter
  SimpleAdapter simpleAdapter = new SimpleAdapter(
      MainActivity.this, listItems, R.layout.line,
      new String[]{"name","desc"}, new int[]{R.id.name,R.id.desc});
  //为show ListView组件设置Adapter
  show.setAdapter(simpleAdapter);
  }
});

 

使用ContentProvider管理多媒体-----查看多媒体数据中的所有图片

标签:

原文地址:http://www.cnblogs.com/jiww/p/5594126.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!