现在大多数app都有选择图片上传的功能,自己开发的SDK有类似的功能,所以就参考些许资料自己实现了下,虽然不是太复杂的功能,但是涉及到的知识点还是可圈可点的,所以博主在此总结下来供自己以后参阅,算是个学习笔记。前后下来博主一共实现了三个版本才算满意。

实现效果如下:

点击上面图片listView的一个item后会跳转到另外一个页面:

自己的SDK实现的功能简单些就是点击ListView的一个item,然后跳转到RecycleView来显示该item对应文件夹下的所有图片,然后点击RecycleView的一个图片进行裁剪然后进行图片上传(文件上传用的是自己封装的Okhttp工具来完成)。

单单从图片上来看没什么难处,就是一个两个RecycleView对象添加和显示数据而已,相信大家对这两个控件的用法都很了解(此乃废话),但是其中涉及到如下几个问题可以思考:
1、怎么在手机里众多的文件夹中扫描获取图片集合?
2、如果手机里图片过大的情况下怎么减少内存的开销?能否向网页哪样在数据多的情况下分页展示?如果可以怎么实现?这又涉及到RecycleView的上拉刷新问题。
3、android 6.0的权

android图片选择器实现说明相关推荐

  1. android图片选择器框架支持长图,基于RxJava的Android图片选择器. – RxPicker

    RxPicker 基于 RxJava 的 Android 图片选择器. 特性 与 RxJava 结合,支持响应式得到选择图片结果 兼容 Android 7.0 自定义 ImageLoader 预览 使 ...

  2. android 仿照ios 图片选择,GitHub - wildma/PictureSelector: Android 图片选择器(仿 IOS 图片选择控件)...

    PictureSelector Android 图片选择器(仿 IOS 图片选择控件) 效果图 功能特点 支持通过拍照获取图片 支持通过相册获取图片 支持图片是否裁剪两种场景 支持仿 IOS 底部弹出 ...

  3. Matisse Android图片选择器详细使用

    Matisse Android 图片选择器 详细使用方式 前言 我们在做App的时候很多需求都要选择图片 比如说: 上传头像 上传朋友圈 发送图片 内容编辑插入图片 我们也可以使用系统的组件来完成我们 ...

  4. Android图片选择器PhotoPicker

    前言 维护的一个项目的时候发现,项目使用了一个5年前的库,是通过直接拉源码的并改写的方式来实现的.去GitHub找到了这个库PhotoPicker.作者说项目不维护了,建议大家使用zhihu/Mati ...

  5. android 自定义相册选择,Android图片选择器,支持拍照、从相册选择、裁剪、自定义主题...

    在很多项目中都会用到图片选择器,比如在选择头像的时候,还会要求选择图片进行裁剪后再进行上传:而有的项目要支持拍照后进行图片裁剪再进行上传.由于Android系统兼容性问题,我们不得不考虑自己实现图片裁 ...

  6. Android 图片选择器和图片裁剪库

    前言:现在大部分的App都支持上传图片和裁剪图片的功能,比如设置用户头像.聊天发送图片.发表动态.论坛帖子等.上传图片需要先从选择手机中选择要上传的图片,所以图片选择器在App中是很常见的组件,一般的 ...

  7. Android 图片选择器、图片剪切,文件选择器

    单张图片选择 1.在build.gradle中dependencies下添加依赖 compile 'com.github.lovetuzitong:MultiImageSelector:1.2' 2. ...

  8. android壁纸选择器,Android 图片选择器

    前言 在安卓开发中经常用到修改头像功能,通常就拍照和选择相册图片两种.有很多时候还需要对图片进行裁剪.所以这个工具可以更快速完成这些功能.对于6.0权限的处理,每个人用的都不一样,所以这个工具使用的是 ...

  9. Android 图片选择器(支持拍照,预览)

    最近项目中需要选择本地图片,自己就在网上找了一个第三方框架,此框架不太满足自己的需求,此框架拍照后,会自动将照片返回,我需要将图片设置为选中状态并不返回,自己修改了框架源码,改成自己的需求,下面有图片 ...

  10. Android 图片选择器(拍照)自定义

    开发经常遇到获取图片问题 /*** 读取手机中所有图片信息*/ private void getAllPhotoInfo() {new Thread(new Runnable() {@Override ...

最新文章

  1. MySQL 5.6 Warning - Using a password on the command line interface can be insecur 解决方案
  2. C#文件操作基础之File类和FileInfo类
  3. 有关struts2中用到 js 总结
  4. python解不定积分_python快速求解不定积分和定积分
  5. 这就是Machine Learning
  6. 外卖侠小程序源码v4.24.0微擎插件外卖cps同城生活团购
  7. python 生成nc文件_如何python写nc文件
  8. c 语言ifelse语句的用法,C 语言 if...else 语句
  9. 电商帝国阿里巴巴起跑中国量子产业
  10. [MacOS][Google Chrome 浏览器] 鼠标右键需要双击才能弹出菜单
  11. java里如何表示黑桃方片_扑克牌中(黑桃,方片,红心,梅花)各代表什么意思?据我所知红心是代表爱。...
  12. 解方程计算器,一款数学神器APP,有需要的自己收藏!
  13. 首席科学家马丁•福勒(Martin Fowler)
  14. 乡愁 - 怀念老者余光中
  15. 数据库查询语句遇到:Unknown column ‘XXXX‘ in ‘where clause‘解决方法
  16. 【bzoj4568】【SCOI2016】【幸运数字】【树上倍增+线性基】
  17. 轻量化中文版linux,MX Linux:一款专注于简洁性的中等体量发行版 | Linux 中国
  18. hrbust 2188 星际旅行
  19. 指甲上长 黑线  ,出问题的可能是: 肾/肝/肠胃/皮肤。需要去医院,看皮肤科和 消化科。
  20. 超像素分割(Slic算法)——个人梳理

热门文章

  1. Java使用apache commons连接ftp修改ftp文件名失败原因
  2. 眼底图像血管增强与分割--(3)基于PCA的增强算法原理及实现
  3. 实操教程 | 深度学习pytorch训练代码模板(个人习惯)
  4. webpack-dev-server启动后, localhost:8080返回index.html的原理
  5. 963B:Destruction of a Tree
  6. 精读45-180程序转弯模板
  7. PHP随机生成指定时间段的指定个数时间
  8. DE4-530的OpenCL开发环境搭建
  9. Kinect 深度测量原理
  10. PeerCDN:使用WebRTC构建基于浏览器的P2P CDN