android---读取SD卡内容并显示

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();
同时通知更新即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值