1. 首先需要读取权限: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
当前所在SD的路径去获得所在层的全部文件,当currentPath = “”时,表示根目录。
/**
* 获得SD卡根目录的文件信息
* @return
*/
public ArrayList<String> getSDlist(String currentPath)
{
ArrayList<String> list = new ArrayList<String>();
File sDFile = Environment.getExternalStorageDirectory();
File sdPathFile = new File(sDFile.getAbsolutePath()+currentPath);
if(sdPathFile.listFiles().length>0)
{
for(File file : sdPathFile.listFiles())
{
list.add(file.getName());
}
}
return list;
}
将获得的arraylist用Listview显示出来。这是最基本的文件读取,如果需要进入更深层的文件夹,可以为listview设置点击事件。
每次点击之后执行上面那个方法,获得下一层的目录结构后通知Listview改变布局。
所在路径依靠mCurrentPath来记录,所以进入或者退出都要去更新mCurrentPath的值。
/**
* 按返回文件的上一层
*/
private void clickBack()
{
//返回上一层文件夹
mCurrentPath = mCurrentPath.substring(0,mCurrentPath.lastIndexOf("/"));
//通知handler改变布局
handler.sendEmptyMessage(200);
}
// 进入下一层的文件夹
mCurrentPath += "/"+textView.getText().toString();
同时通知更新即可。
|
android---读取SD卡内容并显示
最新推荐文章于 2023-04-28 18:03:33 发布