Body">

最近因为比较忙,好几天没有写博客了,正好现在正在弄上传文件,当时想怎么能实现fileDialog的功能呢,打开文件,浏览文件,然后选择文件呢,查了好多资料,也看了不少论坛,都说里面没有这个功能,那真是奇怪了,里面没有这个功能,当然就需要自己动手添加这个功能了。

首先说一下这个文件浏览的简单实现原理:

首先选择一个目录做为根目录,然后打开此目录,常用的就是使用File这个类了,如下:

File file=new File(path);

然后可以通过获取到此目录下所有文件及文件夹的列表:

如下:

File[] files = file.listFiles();

然后再根据根据得到的文件,来判断是文件夹还是文件,如果是文件夹,那么我们就将文件夹添加到列表中,如果是文件那么就把文件添加到列表中进行显示,如果需要显示图标的话,那么就需要根据文件的后缀,设置不同的图标了。我是在ListView中进行显示的。

基本代码如下:

14426684_1.gif

14426684_2.gif代码

for(File currentFile : files)

{//判断是一个文件夹还是一个文件if(currentFile.isDirectory())

{

currentIcon=getResources().getDrawable(R.drawable.folder);

}else{//取得文件名String fileName=currentFile.getName();//根据文件名来判断文件类型,设置不同的图标if(checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingImage)))

{

currentIcon=getResources().getDrawable(R.drawable.image);

}elseif(checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingWebText)))

{

currentIcon=getResources().getDrawable(R.drawable.webtext);

}elseif(checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingPackage)))

{

currentIcon=getResources().getDrawable(R.drawable.packed);

}elseif(checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingAudio)))

{

currentIcon=getResources().getDrawable(R.drawable.audio);

}elseif(checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingVideo)))

{

currentIcon=getResources().getDrawable(R.drawable.video);

}else{

currentIcon

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐