android系统媒体库开发之图片
来源:互联网 发布:手机屏幕分享软件 编辑:程序博客网 时间:2024/05/22 03:34
Android系统为我们建立起多媒体数据库之后,便把多媒体常用的信息,比如歌曲名、文件大小、播放时长、专辑、歌手等常用信息保存在了数据库里,那我们可以直接用多媒体库中的数据,完成这个需求。虽然我们需要用多媒体库,但是我们不能直接操作。Android为这些常用的需要共享的数据(多媒体和联系人等),创建了ContentProvider,因此,如果我们想获取到这些信息,我们就需要用ContentProvider。
bean:
public class Pic extends FtpBaseBean{public String locPath = null;public boolean isChecked = false;private String remotePath = "/pic/";public Pic(String locPath, boolean status) {this.locPath = locPath;this.isChecked = status;}public boolean isChecked() {return isChecked;}public void setIsChecked(boolean isChecked) {this.isChecked = isChecked;}public String getFileName() {return fileName;}public void setFileName(String fileName) {this.fileName = fileName;}public String getRemotePath() {return remotePath;}public void setRemotePath(String remotePath) {this.remotePath = remotePath;}public String getLocPath() {return locPath;}public void setLocPath(String locPath) {this.locPath = locPath;}public int getState() {return state;}public void setState(int state) {this.state = state;}public long getProgress() {return progress;}public void setProgress(long progress) {this.progress = progress;}public long getMax() {return max;}public void setMax(long max) {this.max = max;}}util:
public class ImageUtil {/** * 获取本地图片 * @return */@SuppressLint("UseSparseArrays")public static ArrayList<Pic> getMediaImage() {ArrayList<Pic> datas = new ArrayList<Pic>();final String orderBy = MediaStore.Images.Media.DATE_TAKEN;final String[] columns = { MediaStore.Images.Media.DATA,MediaStore.Images.Media._ID,MediaStore.Images.Media.BUCKET_DISPLAY_NAME };Cursor imagecursor = UIUtils.getContext().getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,null, orderBy + " DESC");for (int i = 0; i < imagecursor.getCount(); i++) {imagecursor.moveToPosition(i);int dataColumnIndex = imagecursor.getColumnIndex(MediaStore.Images.Media.DATA);int dirColumnIndex = imagecursor.getColumnIndex(MediaStore.Images.Media.BUCKET_DISPLAY_NAME);String buckedName = imagecursor.getString(dirColumnIndex);//父目录名String filename = imagecursor.getString(dataColumnIndex);//路径名 /storage/emulated/0/GoStore/download/Picture/10128132.jpgtry {File file = new File(filename);if (!file.exists()) {continue;}} catch (Exception e) {continue;}Pic galleryModel = new Pic("file:/" + imagecursor.getString(dataColumnIndex), false);//这里加上了"file:/",是urlimageloader加载本地图片的前缀datas.add(galleryModel);}imagecursor.close();return datas;}}
1 0
- android系统媒体库开发之图片
- android系统媒体库开发之视频
- android系统媒体库开发之音乐
- android学习之选择媒体库中的图片
- android学习之选择媒体库中的图片
- android学习之选择媒体库中的图片
- Android 插入图片到媒体库
- Android之媒体库(一)
- 安卓进阶之扫描系统媒体库
- Android 从系统媒体库中选择视频
- Android开发——媒体库MediaStore
- android——照片管理——系统图库之媒体库(一)
- android——照片管理——系统图库之媒体库(二)
- Android media媒体库分析之:MediaProvider
- 【Android】本地图片选择(打开媒体库,选择图片)
- 【Android】本地图片选择(打开媒体库,选择图片)
- 【Android】本地图片选择(打开媒体库,选择图片)
- 【Android】本地图片选择(打开媒体库,选择图片)
- WebSocket实现多屏互动的分析及方案
- Turtlebot学习指导第五篇_搭建自己的ROS机器人的核心,配置navigation包并创建基本的启动文件
- 安卓基于HttpURLConnection网络请求
- Mac OS X pip 安装package时问题
- 快速排序
- android系统媒体库开发之图片
- jemeter遍历访问URL
- eclipse远程调试时出现:Failed to connect to remote VM. Connection refused. Connection refused: connect
- iOS-ERROR ITMS-90046: "Invalid Code Signing Entitlements.
- 原生javascript实现ajax 发送post请求
- iOS开发系列手势、音频
- linux下文件操作API:write/read/fcntl/ioctl/mmap
- 可下拉的PinnedHeaderExpandableListView的实现
- 更改、删除字段名、在某字段后增加字段