1、设计目的

为了更加深入的了解Android开发,我最初是打算设计是建立一个相册或视频相关的多媒体的应用,但一次偶然的机会我看到了在github中一个框架,该框架中定义了许多有关图片和视频相关操作的方法,而且能够获取到手机本地的文件,而不像之前的应用需要导入到drawable中或在网上获取,于是本次课程设计我决定利用github
https://github.com/LuckSiege/PictureSelector的开源框架做一个能够查看手机后台存储数据的应用,这样方便的找出手机中存储在各个位置的图片音乐视频等,比如手机拍摄的图片,本地下载的视频,或者本地下载的音乐等,在选择时进行预览方便选择,类似于手机相册。

2、功能描述

  1. 预览查看手机存储的照片,视频和音频,可以通过应用找到手机中存储的各类型照片,视频和音频,包括png,jpg,jpeg等格式
  2. 单选或多选手机本地存储的照片,音频和视频,将选择的照片视频音频返回到首页显示
  3. 拍照,录像或录音,将结果返回到首页展示
  4. 在首页播放选择的照片视频和音频

3、详细设计

3.1 系统业务逻辑

业务逻辑流程图

3.2 系统功能模块设计

3.3 系统界面设计

  1. 首页:显示自己选择的文件。
  2. 操作选项页面,在首页点击后进入操作选择页面,可以选择是添加照片和视频还是音频,亦或者是拍照。
  3. 本地文件展示页面:将手机本地的文件(图片,视频,音频)以类似手机相册的方式显示,可以进行选择和预览
  4. 文件预览页面:点击想要选择的文件,会预览文件

4、程序实现

首先由于我用了第三方的集成框架,所以首先要利用gradle导入
allprojects {
repositories {
jcenter()
maven { url ‘https://jitpack.io’ }
}
}
然后建立layout中的xml文件,首先首页利用RecyclerView来便于将选择的图片进行排列,在利用相对布局和imageview以及库中的layout将图片视频等展示出来。
在MainActivity中,利用getviewbyid获取到layout中的ui控件,
new一个GridImageAdapter来存放选择的文件,然后判断利用库中集成的函数判断存放的文件的类型,利用switch函数利用集成的不同方法来打开各自对应的文件。

而想要获取到手机本地的文件,还要申请到写的权限

然后给ui控件设计点击相应监听器,利用控件的getid判断响应事件,在每个对应的事件中利用库中的函数将手机本地的相册显示并进行相关的操作。

5.运行结果

选择相册:

左边是我的应用的界面,右边是模拟器中自带的图库的界面,可以看到该应用找到了该模拟器中包括图片的所有文件夹,也获取到了手机本地保存的所有图片和视频。

可以点击图片进行预览,也可以左右滑动选择不同的相册。

选择的图片会返回首页进行展示,在首页也能进入查看页面

当选择音频时,显示本地的所有音频,并在点击后能进行播放

在选择视频后也能进行播放和选择到首页

还能够进行录视频,拍照,录音。

6、总结

  • 本次实验我用到了github中的开源库,其中有许多没有在课堂中学过的知识,比如文件操作权限的获取,开源库的导入,对于录像,拍照,录视频等不同拍摄的实现过程。
    但也有一些学过的
  • 知识获得了加深,比如layout的页面设计中如何将图片排列整齐,如何学习使用RecyclerView;在为控件添加监听事件时利用view的getid和switch来给不同的控件添加事件;利用adapter适配器来放入照片和视频等不同的文件,并在adapter中为每个图片,视频等添加各自的点击响应事件,来完成在首页选择文件的查看。
  • 这个系统也有许多可以改进的地方,比如在导入库和进行使用时出现很多问题,其中解决了一些问题,但也有一些没有解决,如在开源库中还有可以对图片进行裁剪旋转的功能,但在使用时却会关闭应用,并且在日志中也没有显示报错信息,最后没有解决,于是只有放弃这个功能;在进行选择时无法显示文件的名字,图片可以直接看,但视频和音频则必须要打开播放才能确定文件名字。

源码地址

https://github.com/1105358600/AndroidPVASelector

Android图片,视频,音乐选择播放器相关推荐

  1. android图片本地播放器下载,安卓音乐照片播放器

    音乐照片播放器app是一个给力的图像工具,可以提供非常好用的幻灯片播放功能,同时还有超级享受的相册图库应用功能,音乐照片播放器app在西西软件园下载之后,你绝对不会后悔的. 功能介绍 用户通过软件可以 ...

  2. android b站倍速播放器,哔哩哔哩怎么加速播放?B站网页版和手机版视频倍速播放的方法介绍...

    bilibili简称B站是国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主.那么,爱逛b站的朋友们都知道,加速播放效果更佳!那么,哔哩哔哩怎么加速播放呢?接下来小编就 ...

  3. android:自己实现能播放网络视频url的播放器

    2019独角兽企业重金招聘Python工程师标准>>> android原生自带的播放器一般只能播放本地视频,而没有播放url的功能.不过android系统中有一个VideoView的 ...

  4. android第三方开源音频播放器,Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用...

     Android第三方开源SeekBarCompat:音乐类播放器等APP进度条常用 Android平台原生的SeekBar设计简单,然而,比如现在流行的一些音乐播放器的播放进度控制条,如果直接使 ...

  5. android播放器可点击列表,Android上是否有任何播放器可以支持播放列表中的本地视频并可以预设播放顺序?...

    试用Android QQ视频和Vplayer,它确实支持许多视频格式,但是发现它们不支持列表播放. 例如,当前手机上有5个视频剪辑,希望在播放器中设置不同的顺序以顺序播放. 就ABCDE而言,我可以尝 ...

  6. android ffmpeg 仿剪映播放器 剪辑视频 预览条 快速精准抽帧

    android ffmpeg 仿剪映播放器 剪辑视频 预览条 快速精准抽帧 由于本人想学习音视频相关的东西,所以找了剪映作为借鉴,通过仿照剪映的功能学习音视频相关的东西,所以有了这个项目 暂时这个项目 ...

  7. android播放网页视频播放器下载,android:自己实现能播放网络视频url的播放器

    android原生自带的播放器一般只能播放本地视频,而没有播放url的功能.不过android系统中有一个VideoView的控件可以实现这一功能. 简单实现如下: public class MyVi ...

  8. android 系统播放器播放https,android:自己实现能播放网络视频url的播放器

    android原生自带的播放器一般只能播放本地视频,而没有播放url的功能.不过android系统中有一个VideoView的控件可以实现这一功能. 简单实现如下: public class MyVi ...

  9. android 3d布局轮播,android 图片/视频混合轮播控件banner

    android 图片/视频混合轮播控件banner 在youth5201314的图片轮播控件做的修改 原作者github地址:https://github.com/youth5201314/banne ...

最新文章

  1. macOS下安装dlib踩坑记录
  2. 集合 Subset Sums
  3. python hsv inrange 范围_仅20行代码,用python给证件照换底色
  4. 凑个热闹-LayoutInflater相关分析
  5. 基于XMPP实现的Openfire的配置安装+Android客户端的实现
  6. 【Java】关键词strictfp解析
  7. NHibernate3.0剖析:Query篇之NHibernate.Linq标准查询
  8. linux下 如何切换到root用户
  9. 阿诺德图像加密c语言,基于Arnold变换的数字图像加密算法
  10. 在linux添加驱动程序,linux下静态/动态加载驱动的两种方式
  11. 设备log导入oracle,oracle imp 导入数据库出错 请看log!
  12. 如何让自己像打王者荣耀一样疯狂且不知疲倦地学习?
  13. 环比和同比的定义和应用
  14. torch.Generator 随机数生成器
  15. antdownload百度网盘下载器、下载不限速
  16. Unity制作简单3D图表
  17. 局域网电脑设置固定ip
  18. 什么是深度学习?我们为何需要深度学习?
  19. 图片转excel的网站
  20. 联想ghost重装系统_一步一步教你手动ghost重装win7 64位系统

热门文章

  1. mysql添加int字段_mysql怎么增加int字段?
  2. android textview清除,如何删除TextView的旧行
  3. HTML编程、网站前台设计、网站后台开发
  4. android aapt下载,Android自动化打包1:aapt使用详解
  5. Oracle如何创建表空间
  6. android auto 一加3t,一加3T值得买吗?一加手机3t详细评测图解
  7. 2022-2028全球与中国电梯广告市场现状及未来发展趋势
  8. Typora+pico+github图床
  9. 魅蓝Note5适配魅族Flyme6 这千元机很良心
  10. 目标跟踪--卡尔曼滤波 与 匈牙利算法