Android-获取手机上的图片、视频、音频
来源:互联网 发布:pc预测软件 编辑:程序博客网 时间:2024/04/27 21:03
ContentResolver query 的参数:
public final Cursor query (Uri uri, String[] projection,String selection,String[] selectionArgs, String sortOrder)
Uri :
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;//音频Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;//视频Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;//图片
projection :查询的哪些列的信息
String[] projection = {MediaStore.Video.Media._ID, MediaStore.Video.Media.DISPLAY_NAME, MediaStore.Video.Media.DATA};
只查询jpeg和png的图片,以修改日期的升序(默认)排列。
// 只查询jpeg和png的图片,以修改日期的升序(默认)排列。 Cursor mCursor = mContentResolver.query( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, MediaStore.Images.Media.MIME_TYPE + "=? or " + MediaStore.Images.Media.MIME_TYPE + "=?", new String[]{"image/jpeg", "image/png"}, MediaStore.Images.Media.DATE_MODIFIED);
查询大于30秒的所有音乐:
ContentResolver contentResolver = context.getContentResolver();Cursor cursor = contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,null,MediaStore.Audio.Media.DURATION + ">? and "+ MediaStore.Audio.Media.DISPLAY_NAME + " like ?",MediaStore.Audio.Media.DEFAULT_SORT_ORDER);while (cursor.moveToNext()) { // 歌曲名String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE)); // 歌手String singer = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST)); // 专辑String album = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM)); // 长度long size = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media.SIZE)); // 时长int duration = cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION)); // 路径String url = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA)); // 显示的文件名String _display_name = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME)); // 类型String mime_type = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.MIME_TYPE)); music = new Music(); music.setAlbum(album); music.setDuration(duration); music.setSinger(singer); music.setSize(size); music.setTitle(title); music.setUrl(url); music.set_display_name(_display_name); music.setMime_type(mime_type); list.add(music);
demo如下:
java代码:
package com.example.administrator.downloadimgdemo;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import android.app.Activity;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.provider.MediaStore;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.TextView;public class GetAllMsg extends AppCompatActivity { Button getImage; Button getVideo; Button getAudio; Button getFiles; TextView myTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_get_all); myTextView = (TextView) this.findViewById(R.id.myTextView); getAudio = ((Button) this.findViewById(R.id.getAudio)); getAudio.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String[] projection = {MediaStore.Audio.Media._ID, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.SIZE}; String orderBy = MediaStore.Audio.Media.DISPLAY_NAME; Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; getContentProvider(uri, projection, orderBy); } }); getVideo = ((Button) this.findViewById(R.id.getVideo)); getVideo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String[] projection = {MediaStore.Video.Media._ID, MediaStore.Video.Media.DISPLAY_NAME, MediaStore.Video.Media.DATA}; String orderBy = MediaStore.Video.Media.DISPLAY_NAME; Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; getContentProvider(uri, projection, orderBy); } }); getImage = ((Button) this.findViewById(R.id.getImage)); getImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DISPLAY_NAME, MediaStore.Images.Media.DATA}; String orderBy = MediaStore.Images.Media.DISPLAY_NAME; Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; getContentProvider(uri, projection, orderBy); } }); getFiles = ((Button) this.findViewById(R.id.getFiles)); getFiles.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); } /** * 获取ContentProvider * * @param projection * @param orderBy */ public void getContentProvider(Uri uri, String[] projection, String orderBy) { List<HashMap<String, String>> listImage = new ArrayList<HashMap<String, String>>(); Cursor cursor = getContentResolver().query(uri, projection, null, null, orderBy); if (null == cursor) { return; } while (cursor.moveToNext()) { HashMap<String, String> map = new HashMap<String, String>(); for (int i = 0; i < projection.length; i++) { map.put(projection[i], cursor.getString(i)); System.out.println(projection[i] + ":::::::" + cursor.getString(i) + "\n"); } listImage.add(map); } myTextView.setText(listImage.toString()); }}
布局:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <Button android:id="@+id/getImage" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Get Image" /> <Button android:id="@+id/getVideo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Get Video" /> <Button android:id="@+id/getAudio" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Get Audio" /> <Button android:id="@+id/getFiles" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Get Files" /> <TextView android:id="@+id/myTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>
参考:
ContentProvider之通过ContentResolver获取图像、视频、音频举例
0 0
- Android-获取手机上的图片、视频、音频
- 获取Android手机上的图片和视频缩略图
- 获取Android手机上的图片和视频缩略图
- 获取Android手机上的图片和视频缩略图
- android获取手机上的图片和视频缩略图thumbnails
- 获取Android手机上的图片和视频缩略图
- android获取多媒体库的视频、音频、图片
- android 扫描手机上的图片 获取手机图片路径
- Android之获取手机上的图片和视频缩略图thumbnails
- 获取Android手机上的图片和视频缩略图及抓图!!!
- android获取音频、视频、图片信息
- Android:获取系统视频、音频、图片
- Android:获取系统视频、音频、图片字段
- android获取音频、视频、图片信息
- android获取音频、视频、图片信息
- 获取图片,视频,音频
- 获取Android手机的图片和视频的缩略图
- Android获取手机内的所有图片和视频
- Linux sort命令详解
- 支付高并发
- 在Linux下完美运行Windows PC版QQ/TIM教程
- 常见浏览器兼容问题整理(ie9及以上)
- JZ2440 中断分析
- Android-获取手机上的图片、视频、音频
- web性能优化与最佳实践
- 解决mongodb E11000,原子性问题
- 浅谈混合开发与Android,JS数据交互
- Python 3基础教程2-打印语句和字符串
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 文章标题
- ${}和#{}的区别