android 音乐播放器 获取sd卡所有音乐文件,Android Studio音乐播放器无法读取SD卡,只有内部存储器...
我很抱歉,如果这原来是一个愚蠢的问题,它可能会成为一个快速修复,但我只是无法弄清楚。我在android studio中创建了音乐播放器,并且没有任何sdcard上的歌曲不会显示在列表视图中,只有内部内存中的歌曲才会显示,即使我实现了getExternalStorageDirectory()并将该权限添加到清单文件中。关于这种或建设性批评的任何意见都非常令人失望。这是主要的java类。Android Studio音乐播放器无法读取SD卡,只有内部存储器
public class MainActivity extends AppCompatActivity {
ListView lv;
String[] items;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lvPlayList);
//---------------------------------------------> V HERE V
final ArrayList mySongs = findSongs(Environment.getExternalStorageDirectory());
//----------------------------------------------------------------------------------
items = new String[ mySongs.size() ];
for(int i = 0; i
toast(mySongs.get(i).getName().toString());
items[i] = mySongs.get(i).getName().toString().replace(".mp3", "").replace(".wav", "");
}
ArrayAdapter adp = new ArrayAdapter<>(getApplicationContext(), R.layout.song_layout, R.id.textView, items);
lv.setAdapter(adp);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
startActivity(new Intent(getApplicationContext(), Player.class).putExtra("pos",position).putExtra("songlist",mySongs));
}
});
}
public ArrayList findSongs(File root) {
ArrayList al = new ArrayList<>();
File[] files = root.listFiles();
for(File singleFile : files) {
if(singleFile.isDirectory() && !singleFile.isHidden()) {
al.addAll(findSongs(singleFile));
} else {
if(singleFile.getName().endsWith(".mp3") || singleFile.getName().endsWith(".wav")) {
al.add(singleFile);
}
}
}
return al;
}
public void toast(String text) {
Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();
}
}
2016-07-06
Konrad
+0
使用棉花糖6.0 ?? –
+0
最低的API 10,姜饼,虽然使用冰淇淋三明治设备。 –
android 音乐播放器 获取sd卡所有音乐文件,Android Studio音乐播放器无法读取SD卡,只有内部存储器...相关推荐
- android 扫描所有图片格式,Android获取本机各种类型文件列表(音乐、视频、图片、文档等)...
介绍 本篇介绍Android获取本机各种类型文件的方法,已经封装成工具类,末尾有源码下载地址. 提示 获取音乐.视频.图片.文档等文件是需要有读取SD卡的权限的,如果是6.0以下的系统,则直接在清单文 ...
- html javascript 音频、视频、 mp3 、mp4 的播放、暂停、重新播放、获取音频时长、视频自动全屏播放
html javascript 音频.视频. mp3 .mp4 的播放.暂停.重新播放.获取音频时长 视频 https://www.bilibili.com/video/BV1WE411o7Ft?fr ...
- 魅蓝3 官方android系统,魅蓝3获取ROOT权限及刷入Android系统过程
首先感谢制作魅蓝3 Android ROM的大神----眷恋阳阳 想必很多人跟我一样,在购买了魅蓝3之后发现系统是YunOS,且官方固件没有Android版本,魅族官方也没有给用户开放"获 ...
- Android截图apk,PC获取手机截图、复制文件、安装APK
PC获取手机截图.复制文件.安装APK 我在eoe上的帖子的链接 PC获取手机截图.复制文件.安装APK http://www.eoeandroid.com/thread-324986-1-1.htm ...
- android 中如何用aes算法加密解密zip文件,android中AES加解密的使用方法
今天在android项目中使用AES对数据进行加解密,遇到了很多问题,网上也找了很多资料,也不行.不过最后还是让我给搞出来了,这里把这个记录下来,不要让别人走我的弯路,因为网上绝大多数的例子都是行不通 ...
- iphone 投屏到android,苹果安卓手机投屏之(二)——音频文件在电视上播放
上次发布了一篇电脑投屏视频文件到电视的文章,有朋友看了以后私信我说手机如何投屏到电视,不止要投视频,还要投音频和手机桌面. 今天我们就来说说如何手机投屏那些功能. 由于内容比较多,所以分成几个部分来写 ...
- android apk反编译(获取源码,资源文件等)
android apk反编译,是让你可以去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局是怎么实现的 一.当然我们也需要借助工具: apktool (资源文件获取,可以提取出图片文件和布局文件 ...
- android应用程序永久获取root权限方法,怎么使Android应用程序获得root权限
一般来说, Android 下的应用程序可以逗直接地得到的最大的权限为 system ,但是如果我们需要在程序中执行某些需要 root 权限的命令,如 ifconfig 等,就需要 root 权限了. ...
- Android扫码枪无输入框获取扫码内容(或者Android自助机获取扫码内容)
公司项目要求获取Android自助机获取扫码内容传给服务器后台,网上查了下和Android扫码枪获取内容一样,不需要添加任何三方sdk,Android原生即可实现.要看到扫码内容,可以在Activit ...
- 网易云音乐信息爬取(存储为 csv文件)喜马拉雅音乐爬取
1. 网易云音乐爬取 分析 源代码 爬取结果, (可使用Excel 表格打开) 2. 喜马拉雅音乐爬取 分析 源代码 爬取结果 获取网易云音乐歌手信息 后续会做一个 网易云音乐爬取 + Tkinter ...
最新文章
- linux 五种IO模型 简介
- python 字符串前面加u,r,b,f的含义
- 修改/etc/sudoers权限后的补救方法
- 【CyberSecurityLearning 附】域的复习+小综合实验(重要!)
- P2619 [国家集训队]Tree I(WQS二分/带权二分/最小生成树)
- 前端 - token 是什么?为什么每次请求头(HEADS)里要携带它?___请求时,为什么要携带token?
- Liskon替换原则
- Oracle学习总结(9)—— Oracle 常用的基本操作
- celery cluser redis_celery结合redis 使用
- python自带的解释器和编辑器叫什么_(四)python自带解释器(LDIE)的使用
- 决策树模型回归可视化分析_基于Blank Friday商店销售数据分析构建回归模型
- 【数字IC设计/FPGA】推挽输出和开漏输出
- getMonth()方法
- 使用gitbook时graceful-fs报错:TypeError: cb.apply is not a function的解决方案
- Log与logcat
- flash崩溃未保存!
- FPGA学习教程-黑金AX301B
- 喝java茶,我为你泡一杯花茶
- 【英语词组】恋恋不忘Day7-1
- 如何进行文档翻译?文档翻译的软件有哪些?
热门文章
- 网站运营手册_新媒体代运营模式价格
- 用计算机器提高正确率,计算机作业,正确率要90%
- tf initializer
- flink 1-个人理解
- vue中怎么点击修改文字_Vue.js点击切换按钮改变内容
- c语言计算时间的编程,C语言实现时间戳转日期的算法(推荐)
- 服务器升级内存跟cpu之后性能更差,云服务器cpu重要还是内存重要
- mysql 创建临时表 时间类型_MySQL问答系列之什么情况下会用到临时表
- l2的最优回归_【机器学习】逻辑回归(非常详细)
- Jetpack Compose学习笔记