文件列表
[功能]
文件列表
[思路]
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!