一步步打造Android文件选择器一(起始篇)

一步步打造Android文件选择器

近期,公司项目一改再改!!!需求天天变,其中文件选择方面搞的心力憔悴,图片选择、视频选择、音频选择、文件选择!!!还要根据大小筛选!!!!你咋不上天呢???虽然网上开源项目不少,但是这种一体化的开源项目还真没见过(至少我没见过),所以我决定利用空余时间打造一个能满足公司产品脑洞的文件选择器!!!本篇先针对该文件管理器,制定一些需要实现的目标,算是一个需求篇吧。

目标:

根据文件类型进行筛选,对外提供配置接口,实现一个功能强大又足够解耦以方便以后扩展的一个文件选择器!!!

可选文件类型:

  • 图片
  • 音频
  • 视频
  • 文件【文档(word、excel、ppt等)/文本(txt、pdf等)/其他】

对外提供接口:

对外提供接口主要针对使用给文件选择器的开发者,遵从一切可配置原则,尽可能满足绝大多数开发者的需求。

  • 参数可配置
  • 支持不同文件同时选择
  • 文件展示视图布局方式可选(Grid/Linear)
  • 支持目录归档及切换
  • 支持文件预览(根据文件类型决定)
  • 框架产生文件保存目录可配置
  • 动态权限管理
  • 文件展示的icon可配置
  • 使用Bilder模式使得框架使用更加方便

文件选择器具体功能支持

图片选择器

  • 预览
  • 目录归档
  • 筛选(大小、类型)
  • 编辑(裁剪、提供压缩服务、其他)
  • 拍照

视频选择器

  • 视频预览
  • 目录归档
  • 筛选(大小、类型)
  • 缩略图预览
  • 拍摄

音频选择器

  • 预览
  • 目录归档
  • 筛选(大小、类型)
  • 录音

文件选择器

  • 预览
  • 目录归档
  • 筛选(大小、类型)