最近在做一个模仿酷狗的音乐播放软件,做到一个音乐下载保存路径的的功能,特此记下大概的实现方法。第一次写博客,以后希望能坚持写下去!
先上一张做好后的效果图吧,功能基本实现了UI还需美化。效果图如下:
其实现的大致思路是:首先进入该界面会去获取上次存在本地的路径地址我这里存路径的地址是通过SharedPreferences以本地XML的方式保存的。如果是第一次使用本软件会有一个默认的初始路径,我这边默认的是“/sdcard/wobomusic/”代码如下:
private void initData() {
//获取上次保存的路径
String lastSave = Utils.getPreference(this, MUSIC_PATH_NAME,
MUSIC_PATH_KEY);
String currentPath;
if (lastSave == null || lastSave.equals("")) {//如果不存在设为默认路径
currentPath = Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/wobomusic/";
} else {
currentPath = lastSave;
}
File currentFile = new File(currentPath);
if (!currentFile.exists()) {//判断该路径的文件夹是否存在不存在就创建一个,该方法也可以用来实现创建文件夹
currentFile.mkdirs();
}
txtFilePath.setText(currentPath.toString());
scan(currentFile);//扫除该路径下的所有文件夹
}
得到初始化的文件后就需要扫出该文件夹下的所有文件夹,代码如下:
public void scan(File file) {
if (file.isDirectory())// 判断下是否为文件夹
{
listFileName.clear();
File[] files = file.listFiles();//获取该文件夹下的所有文件
if (files != null) {
for (int i = 0; i
if (files[i].isDirectory()) {//如果该文件是文件夹则把它存入一个list里面
listFileName.add(files[i].getName());
}
}
}
adapter.setData(listFileName);//获取完该文件的所有文件夹之后刷新一下listview的显示数据
}
}
有了这两个功能基本就可以实现上图的功能了。