好了下面进入正题,我们先看一下实现效果吧:
下面来介绍一下代码:
本思路就是:
1.先到手机中扫描jpeg和png的图片
2.获取导图片的路径和图片的父路径名也就是文件夹名
3.将图片路径和文件夹名分别添加导数据源中
4.数据源有了就是显示了,文件夹显示是利用的popwindow,而图片显示则是GridView
看一下具体代码:
首先开启一个线程去扫描图片
/**
* 利用ContentProvider扫描手机中的图片,此方法在运行在子线程中 完成图片的扫描,最终获得jpg最多的那个文件夹
*/
private void getImages()
{
if (!Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED))
{
Toast.makeText(this, "暂无外部存储", Toast.LENGTH_SHORT).show();
return;
}
// 显示进度条
mProgressDialog = ProgressDialog.show(this, null, "正在加载...");
new Thread(new Runnable()
{
@Override
public void run()
{
String firstImage = null;
Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
ContentResolver mContentResolver = AlbumActivity.this
.getContentResolver();
// 只查询jpeg和png的图片
Cursor mCursor = mContentResolver.query(mImageUri, null,
MediaStore.Images.Media.MIME_TYPE + "=? or "
+