android开发 获取相册名称_Android获取手机上各个相册名称和相片的方法
下面是我用来获取相册名称以及内容的方法,比较猥琐的方法,但是也实现了功能
就是一个asyctask,将就参考参考,本人记录
class ScanAllImageTask extends android.os.AsyncTask>{
@Override
protected List doInBackground(Boolean... params) {
// 指定要查询的uri资源
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
// 获取ContentResolver
ContentResolver contentResolver = CircleAlbum.this.getContentResolver();
// 查询的字段
String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA};
// 条件
String selection = MediaStore.Images.Media.MIME_TYPE + "=? or " + MediaStore.Images.Media.MIME_TYPE + "=? or "
+ MediaStore.Images.Media.MIME_TYPE + "=?";
// 条件值(這裡的参数不是图片的格式,而是标准,所有不要改动)
String[] selectionArgs = { "image/jpeg", "image/bmp", "image/png" };
// 排序
String sortOrder = MediaStore.Images.Media.DATA + " asc";
// 查询sd卡上的图片
Cursor cursor = contentResolver.query(uri, projection, selection, selectionArgs, sortOrder);
List albums = new ArrayList();
if (cursor != null) {
CircleAlbumItem album = null;
String tempFolderPath = "";
cursor.moveToFirst();
do{
String imagePath = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
if(!tempFolderPath.equals(getFolderPath(imagePath))){
//若文件夹名相同,则先保存之前的album
if(album != null){
albums.add(album);
}
tempFolderPath = getFolderPath(imagePath);
album = new CircleAlbumItem();
album.setCoverPhotoPathId(cursor.getInt(cursor.getColumnIndex(MediaStore.Images.Media._ID)));
album.setPhotoAlbumName(getFolderName(tempFolderPath));
album.setPhotoNum(1);
}
else{
album.setPhotoNum(album.getPhotoNum()+1);
}
}while(cursor.moveToNext());
// 关闭cursor
cursor.close();
}
return albums;
}
private String getFolderPath(String filePath){
int endIndex = filePath.lastIndexOf(File.separator);
return filePath.substring(0, endIndex);
}
private String getFolderName(String folderPath){
int startIndex = folderPath.lastIndexOf(File.separator)+1;
return folderPath.substring(startIndex);
}
@Override
protected void onPostExecute(List result) {
super.onPostExecute(result);
circleAlbumDatas = result;
CircleAlbumAdapter circleAlbumAdapter = new CircleAlbumAdapter();
mGridViewCircleAlbum.setAdapter(circleAlbumAdapter);
}
}
android开发 获取相册名称_Android获取手机上各个相册名称和相片的方法相关推荐
- android 获取wifi的ip地址吗,Android开发实现在Wifi下获取本地IP地址的方法
本文实例讲述了Android开发实现在Wifi下获取本地IP地址的方法.分享给大家供大家参考,具体如下: 代码核心介绍: WifiManager类提供了对设备Wifi功能的管理,包括Wifi开关的打开 ...
- android获取网络时区_Android获取系统时间以及网络时间
项目开发中,很多时候会用到android的时间,罗列一下获取的时间的方式,和大家共同学习进步 一.获取系统时间 1.通过Calendar类来获取系统当前的时间 Calendar calendar = ...
- Android开发 Intent传递参数,获取数据为null
android开发 Activity通过Intent传递参数,获取失败的原因 启动一个有返回值的activity (MapActivity) Intent intent = new Intent(Up ...
- android蓝牙查看电池容量_Android获取电池电量和电池容量
测试APK,获取电量信息,做一些耗电相关的测试,必须要用到一段时间内的耗电百分比,和当前手机的电池容量,计算出平均的耗电电流 1. 获取电池电量百分比 可以使用BatteryManager,废话不多说 ...
- Android开发:基于原生API获取位置信息、卫星信号个数及参与定位的卫星个数
目录 概述 权限申请及开启GPS 调用原生API进行定位 获取设备收到的卫星信号个数 获取用于定位的卫星信号个数 成果图 概述 最近在做室内外无缝定位的相关demo,室外定位中,GNSS定位方法具有精 ...
- Android开发实现QQ登陆并获取信息、分享消息到QQ
很多APP都有分享文章或者图片甚至分享APP给QQ好友的功能,查阅了比较多的资料,也翻看了腾讯开放平台上的API文档,总是会出现各种各样的问题!经过几个小时的排查,也基本算是实现了一些功能! 总之:还 ...
- java android 获取当前时间_Android获取当前系统日期和时间
详细内容 本文用三种方法实现了在安卓上的时间获取功能,喜欢的小伙伴收藏一下,去试试吧! 第一种方法SimpleDateFormat simpleDateFormat = new SimpleDateF ...
- Android开发笔记(一百二十四)自定义相册
画廊Gallery Gallery是一个早期的画廊控件,左右滑动手势可展示内嵌的图片列表,类似于一个平面的万花筒.虽然Android现在将Gallery标记为Deprecation(表示已废弃),建议 ...
- android 代码调用 相册 小米,关于小米手机调用系统相册崩溃的问题
最近在使用第三方聊天插件leancloud的时候,调用系统相册的图片,相同的代码.小米手机选择了图片之后,小米机会崩掉(别的机子,啥版本都没问题).看异常信息,指示cursor.moveToFirst ...
- android开发沉浸式标题栏_android实现沉浸式状态栏
前言 在android开发的过程中,经常会涉及到沉浸式状态栏的问题,说白了,就是手机屏幕顶部栏的颜色显示问题,为了实现美感一体的效果,许多app都已经开始了沉浸式状态栏的显示,这里,我也简单介绍一个沉 ...
最新文章
- 【Dlib】dlib和opencv的互转
- react native中一次错误排查 Error:Error: Duplicate resources
- php跨域请求解决方案_swoft2 -跨域与中间件详解
- 汇编题目:编写包含多个功能子程序的中断例程
- Java架构-面试怎么谈薪资——让自己的利益最大化
- cisco3550交换机限速配置
- 客户端请求时间和服务端处理时间不匹配问题
- 一个关于反序列化的小问题
- Directx11教程40 纹理映射(10)
- PCL对点云进行滤波处理并进行颜色可视化
- Linux安全加固的常用方法
- 和利时HOLLYSYS MACS-K系列DCS介绍
- oracle trap,配置SNMP trap
- java 一年有多少周_Java8根据一年中的第几周获得Monday
- 现代软件工程 第一章 【概论】练习与讨论 第10题 邓杰
- ZoomIt、Snipaste、Typora 三剑客 - 屏幕讲演日常学习赞不绝口的利器
- 截取计算机全屏画面的方法有,全屏截图快捷键的快捷键是什么
- 基于卷积神经网络的句子分类模型【经典卷积分类附源码链接】
- html中左括号怎么写,HTML基础 特殊符号 左右尖括号 与 货币 乘 除
- 876. 快速幂求逆元