您的位置:首页 > 移动开发 > Android开发

Android相册列表和栏目数据表的字段结构

2014-08-08 16:35 253 查看
一、先说一下相册列表的数据结构

_id=13343

 _data=/storage/sdcard0/op****button_radio_off.hdpi.png   #这个是相册的缩略图,一般是这个文件夹中最后一张图片,最后一张图片的路径

 _size=2555

 _display_name=button_radio_off.hdpi.png  #最后一张图片的名称

 mime_type=image/png #图片的类型

 title=button_radio_off.hdpi

 date_added=1379814044

 date_modified=1379252636

 description=null

 picasa_id=null

 isprivate=null

 latitude=null

 longitude=null

 datetaken=1379252636000

 orientation=null

 mini_thumb_magic=null

 bucket_id=784056807 #这个是我们这里主要找的字段相册的ID,该ID和下一个表中的ID是对应的

 bucket_display_name=settings

 volid=409208784

 alive=1

 v_folder=+0552425450;+0552425450;+

 favorite=null

 lock_screen=null

 width=48

 height=49

 is_drm=0

 htc_type=null

 htc_filter=null

关于如何使用这个表,简单的列一些主要的代码:

private ContentResolver cr;
cr = getContentResolver();
//要显示的列
String[] columns = {MediaStore.Images.Media.BUCKET_DISPLAY_NAME,MediaStore.Images.Media.DATA, MediaStore.Images.Media.BUCKET_ID};
//查询的条件
String groupby = " 1=1) group by (" + MediaStore.Images.Media.BUCKET_DISPLAY_NAME;
//执行查询
Cursor cursor = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,null,groupby,null, MediaStore.Images.Media.DATE_MODIFIED + " DESC");
//遍历cursor,将所有的列全部输出,已经得到的所有的数据,想要干什么,随便都行
while (cr.moveToNext()){
int columnCount = cur.getColumnCount();
for(int i=0;i<columnCount; i++){
String columnName = cr.getColumnName(i);
String columnValue = cr.getString(i);
Log.i(TAG,columnName + "=" + columnValue);
}
}

上面发的是相册列表的数据表结果,其实就是我们在手机里看到的 相册,刚我们打相册后看到的是所有含有图片的文件夹,上面这些实现的就是哪些的功能。

二 、将某个文件夹中的图片列出来

图片列表数据表的结构

_id=2691
_data=/storage/sdcard0/dcim/100MEDIA/IMAG0109.jpg #相片的路径
_size=1503648
_display_name=IMAG0109.jpg #图片的文件名
mime_type=image/jpeg
title=IMAG0109 不含扩展名
date_added=1378981123
date_modified=1372592538
description=null
picasa_id=null
isprivate=null
latitude=11.3686 #这里的坐标
longitude=123.895 #这里也是坐标
datetaken=1372592531000
orientation=0
mini_thumb_magic=null
bucket_id=113065532 #特别注意这里,这个是对应另一个表中的ID
bucket_display_name=100MEDIA #还有这里,这里是上一个表中的名称,即文件夹的名称
volid=409208784
alive=1
v_folder=-0968832562;-0968832562;+
favorite=null
lock_screen=null
width=3264
height=1840
is_drm=0
htc_type=null
htc_filter=null

查询的时候和另一个表稍有不同:
Cursor cursor = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,null,where,null,MediaStore.Images.Media.DATE_MODIFIED + " DESC");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息