2. 相关知识
文件管理器一般以固定大小的对话框的方式出现,使用ListView作为文件目录的显示载体。点选目录测进入,点选文件则将所选择文件的Uri返回给调用它的Activity。ListView的使用是实现这个功能的重点。
3. 例程
1) 功能
当用户点击按钮时,调出固定大小的文件管理器,默认显示的目录是SD卡的根目录。用户选择文件后,在界面上显示该文件的路径。
2) 可从此处下载可独立运行的代码
具体下载目录在 /pub/Android源码集锦/2011年/10月/Android文件管理器的源码实现/
3) 核心代码及说明
a) 调用资源管理器
Intent intent = new Intent();
intent.putExtra("explorer_title",
getString(R.string.dialog_read_from_dir)); // 设置文件管理器标题
intent.setDataAndType(Uri.fromFile(new File("/sdcard")), "*/*"); // 设置起始文件夹和文件类型
intent.setClass(MyActivity.this, ExDialog.class);
startActivityForResult(intent, REQUEST_EX);
b) 从资源管理器接收数据
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
String path;
if (resultCode == RESULT_OK) {
if (requestCode == REQUEST_EX) {
Uri uri = intent.getData(); // 接收用户所选文件的路径
TextView text = (TextView) findViewById(R.id.text);
text.setText("select: " + uri); // 在界面上显示路径
}
}
}
c) 文件管理器类的实现
public class ExDialog extends ListActivity { // ListActivity自带List控件
private List