Android/读取指定类型的文件
16lz
2021-01-26
public final class
The Media provider contains meta data for all available media on both internal and external storage devices.
工作中遇到的一个需求 : 获取 SDcard中 所有音频,视频,以及文本文档 进行备份
Nested Classes
class MediaStore.Audio | Container for all audio content.
class MediaStore.Files | Media provider table containing an index of all files in the media storage, including non-media files.
class MediaStore.Images| Contains meta data for all available images.
class MediaStore.Video |
获取音频文件的一个范例: (视频仅需更换Audio类为Video类)
这里需要注意的是 当使用的API < 11 (3.0)时, 是不支持MediaStore.Files 类的 所以在 3.0之前 ,还是需要用遍历的方式!
MediaStore
extends Objectjava.lang.Object | |
↳ | android.provider.MediaStore |
tr: 媒体提供者 包含了外部存储以及内部存储中所有有效的媒体介质
工作中遇到的一个需求 : 获取 SDcard中 所有音频,视频,以及文本文档 进行备份
Nested Classes
class MediaStore.Audio | Container for all audio content.
class MediaStore.Files | Media provider table containing an index of all files in the media storage, including non-media files.
class MediaStore.Images| Contains meta data for all available images.
class MediaStore.Video |
获取音频文件的一个范例: (视频仅需更换Audio类为Video类)
int limit = 30;String[] iStrings = new String[limit];String[] audioItems = { MediaStore.Audio.Media.TITLE,MediaStore.Audio.Media.DURATION, MediaStore.Audio.Media.ARTIST,MediaStore.Audio.Media._ID,MediaStore.Audio.Media.DISPLAY_NAME,MediaStore.Audio.Media.DATA };Cursor audioCursor = GlobalVars.appContext.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, audioItems, null,null, MediaStore.Audio.Media._ID + "");if (audioCursor != null) {audioCursor.moveToFirst();int i = 0;while (audioCursor.getPosition() != audioCursor.getCount()&& i < limit) {Uri uri = Uri.parse(audioCursor.getString(audioCursor.getColumnIndex(MediaStore.Audio.Media.DATA)));iStrings[i] = uri.getPath();audioCursor.moveToNext();i++;}audioCursor.close();}
这里需要注意的是 当使用的API < 11 (3.0)时, 是不支持MediaStore.Files 类的 所以在 3.0之前 ,还是需要用遍历的方式!
// FIXME 临时设定文档的类型public static final String[] documentTypeArr = { ".txt", ".pdf" };private List<File> getDocumentsFiles(File root) {File files[] = root.listFiles();if (files != null)for (File f : files) {if (f.isDirectory()) {getDocumentsFiles(f);} else {if (isVaildFileType(f))this.list.add(f);}}return list;}private boolean isVaildFileType(File f) {for (String type : documentTypeArr) {if (f.getName().contains(type))return true;}return false;}
更多相关文章
- 获取mic音量大小
- Navigation(2)
- android获取全局context对象
- 精确获取android软键盘高度
- Android获取实时网速
- 时间处理工具类
- android 唤醒屏幕并解锁
- WebView与Android之间的交互(js有效,传值)
- Android(安卓)Opengl