Android 手机视频选择器---快速开发系列

本文档详细介绍了如何将一个图片选择器修改为视频选择器,适用于快速开发。首先,通过分析开源项目PhotoPicker的代码,理解其业务逻辑和入口。接着,重点在于替换图片地址以获取视频路径,并实现视频缩略图的展示。通过修改PhotoPickerFragment.java和MediaStoreHelper.java中的关键代码,成功将图片选择功能转化为视频选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android 手机视频选择器—快速开发系列

  • 分析别人的代码
  • 找到解决问题的关键点
  • 视频选择跟图片选择的区别
  • 如何阅读别人的无注释代码
  • 把图片选择器改编成视频选择器

说在前面的话

本案例是基于开源项目http://p.codekk.com/detail/Android/glassLake/PhotoPicker图片选择器修改而来

这里写图片描述

分析方法

1.先把demo下载下来仔细研究分析一样,如果让自己实现这个功能,大概的业务逻辑是什么样的
2.把源码的入口位置找准,分析一样,猜测一下这些参数都有什么作用。
3.大致浏览一下整个工程的代码分包结构,并把跟自己想法不一致的地方着重阅读分析
3.接下来需要思考的问题就是?如何把图片选择器变成视频选择器。
归纳如下:
(1)获取视频地址,cursor,替换掉图片地址的获取
(2)获取视频缩略图显示的图,然后显示、

代码修改:

这段代码就是我们获取图片目录的地方了,PhotoPickerFragment.java

        MediaStoreHelper.getPhotoDirs(getActivity(), mediaStoreArgs,
                new MediaStoreHelper.PhotosResultCallback() {
                    @Override
                    public void onResultCallback(List<PhotoDirectory> dirs) {
                        directories.clear();
                        directories.addAll(dirs);
                        photoGridAdapter.notifyDataSetChanged();
                        listAdapter.notifyDataSetChanged();
                        adjustHeight();
                    }
                });

这段代码就是我们获取图片的地方了,我们再跳入MediaStoreHelper.java


import android.content.Context;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;

import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;

import me.iwf.photopicker.PhotoPicker
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值