文件列表
[功能]
文件列表
[思路]
1. 在android世界 文件 目录 是一样对待的 而文件也是统称 比如:视频文件 音频文件 文档文件 都是文件 都一视同仁
2. 而 File 能够封装 文件和目录
[代码]
1. 用File 来封装 /sdcard/dcim 目录
File file = new File("/sdcard/");
2. 列出该目录下的所有文件 返回 File 的数组
File[] list= file.listFiles();
3. 取出该数组的所有内容 把 File 名字 类型 存入 List<Map<String,String>> 供 SimpleAdapter 使用
for( File f : list ){
Map<String,String> item =new HashMap<String, String>();
item.put(COLUMN_NAME, f.getName().toString());
if(f.isFile()){
item.put(COLUMN_TYPE, "file");
}
else if(f.isDirectory()){
item.put(COLUMN_TYPE, "directory");
}
index.add(item);
}
4. 把数据装入 SimpleAdapter 并适配之
String[] from={COLUMN_NAME,COLUMN_TYPE};
int[] to={android.R.id.text1,android.R.id.text2};
SimpleAdapter adapter = new SimpleAdapter(this,index,android.R.layout.simple_list_item_2,from,to);
this.setListAdapter(adapter);
5. 补充 一些关于 File 的一些函数
* 取出该 File 的名字 或 目录名
public String getName ()
* 判断该 File 是否 文件
public boolean isFile ()
* 判断该 File 是否 目录
public boolean isDirectory ()
* 返回 File 对应的 目录
public String getPath ()
6. 通过 adb shell 看到的 sdcard 内容:
E:\android-dev\sdk\android-sdk-windows-1.5_r2\tools>adb shell
# cd sdcard
cd sdcard
# ls
ls
sample.mp3
folder
eoeAndroid.txt
HelloAndroid.txt
HelloWorlds.txt
edison.jpg
star.jpg
12stars0001.png
12stars0002.png
12stars0003.png
griffin.txt
而 emulator 的结果为:
done!