当前课程知识点:Android应用开发基础 > 第七章 内容提供者ContentProvider > 7.5 课后作业案例 > 7.5.1 实践案例-文件管理器-查看
本节通过实例来介绍
如何查看手机SD卡中的图片 音乐 视频分类
下面介绍文件管理的实现过程
将sd卡中的文件分为图片、音乐、视频
首先创建一个应用程序
设置应用程序的名字
进入布局文件
删除默认组件
修改布局类型为线性布局LinearLayout
切换到design模式
线性布局的排列方式为vertical
新建一个水平方向的线性布局
新建一个Button组件
设置layout_width为0dp,layout_weight为1
设置文本内容为文件
设置id为btn_file
再复制两个button组件
第二个Button组件设置id为btn_video
设置文本内容为视频文件
第三个button组件设置id为btn_audio
设置文本内容为音频文件
设置水平线性布局layout_height为wrap_parent
新建listview组件
设置layout_height为0dp,layout_weight为6
设置id为listview
选中activity_main布局文件
点击右键选择Generate 选中LayoutCreator
自动生成组件初始化的代码
新建String类型的适配器mArrayAdapter
在onCreate函数中新建initData方法
alt+enter实现未实现方法
实例化mArrayAdapter
第一个参数为当前上下文
第二个参数为子布局
mListView设置适配器
在onCreate函数中新建getSdPermissions()
alt+enter实现未实现方法
ActivityCompat.checkSelfPermission检查权限
是否被授权,第一个参数为当前上下文
第二个参数为访问sd卡权限
如果访问sd卡没有被授权
使用ActivityCompat.checkSelfPermission申请权限
第一个参数为当前上下文
第二个参数为访问sd卡权限的字符串数组
请求码为1
实现回调函数onRequestPermissions方法
使用switchcase语句
如果requestCode等于1
如果权限没有授权 使用Toast提示
You denied the permissions
在AndroidManifest.xml文件中
添加访问sd卡权限
实现onClick方法中
当id为R.id.btn_file时 调用listPic方法
alt+enter实现未实现方法
清空适配器数据
实例化ContentResolver
调用contentResolver.query查询数据
第一个参数是图片信息的uri
第二个参数包含图片id与数据的字符串数组
第三个参数为空 第四个参数为空
第五个参数按照
MediaStore.Images.Media.DATA排序
如果cursor不为空
循环遍历cursor
向适配器中添加数据
实现onClick方法中 当id为R.id.btn_video时
调用listVideo方法
alt+enter实现未实现方法
清空适配器数据
实例化ContentResolver
调用contentResolver.query查询数据
第一个参数是视频信息的uri
第二个参数包含视频id与数据的字符串数组
第三个参数为空 第四个参数为空
第五个参数按照
MediaStore.Video.Media.DATA排序
如果cursor不为空
循环遍历cursor
向适配器中添加数据
实现onClick方法
当id为R.id.btn_audio时 调用listAudio方法
alt+enter实现未实现方法
清空适配器数据
实例化ContentResolver
调用contentResolver.query查询数据
第一个参数是音频信息的uri
第二个参数包含音频id与数据的字符串数组
第三个参数为空 第四个参数为空
第五个参数是按照
MediaStore.Audio.Media.DATA排序
如果cursor不为空
循环遍历cursor
向适配器中添加数据
代码编写完成后运行程序
点击各个按钮 读取出sd卡对应类型的文件
这就是查看手机SD中分类文件的全部内容
请大家按照讲课的内容实现文件管理器的功能
在Android的手机和模拟器中分别运行
通过实例礼记手机SD卡的文件访问流程
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统