亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android編程實(shí)現(xiàn)文件瀏覽功能的方法【類似于FileDialog的功能】

 更新時(shí)間:2016年11月01日 09:57:06   作者:老碼農(nóng)豆豆  
這篇文章主要介紹了Android編程實(shí)現(xiàn)文件瀏覽功能的方法,可實(shí)現(xiàn)類似于FileDialog的功能,涉及Android針對文件與目錄操作的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了Android編程實(shí)現(xiàn)文件瀏覽功能的方法。分享給大家供大家參考,具體如下:

最近正在弄上傳文件,當(dāng)時(shí)想怎么能實(shí)現(xiàn)fileDialog的功能呢,打開文件,瀏覽文件,然后選擇文件呢,查了好多資料,也看了不少論壇,都說里面沒有這個(gè)功能,那真是奇怪了,里面沒有這個(gè)功能,當(dāng)然就需要自己動(dòng)手添加這個(gè)功能了。

首先說一下這個(gè)文件瀏覽的簡單實(shí)現(xiàn)原理:

首先選擇一個(gè)目錄做為根目錄,然后打開此目錄,常用的就是使用File這個(gè)類了,如下:

File file=new File(path);

然后可以通過獲取到此目錄下所有文件及文件夾的列表:

如下:

File[] files = file.listFiles();

然后再根據(jù)根據(jù)得到的文件,來判斷是文件夾還是文件,如果是文件夾,那么我們就將文件夾添加到列表中,如果是文件那么就把文件添加到列表中進(jìn)行顯示,如果需要顯示圖標(biāo)的話,那么就需要根據(jù)文件的后綴,設(shè)置不同的圖標(biāo)了。我是在ListView中進(jìn)行顯示的。

基本代碼如下:

for (File currentFile : files)
{
  //判斷是一個(gè)文件夾還是一個(gè)文件
  if (currentFile.isDirectory())
  {
    currentIcon = getResources().getDrawable(R.drawable.folder);
  }
  else
  {
    //取得文件名
    String fileName = currentFile.getName();
    //根據(jù)文件名來判斷文件類型,設(shè)置不同的圖標(biāo)
    if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingImage)))
    {
      currentIcon = getResources().getDrawable(R.drawable.image);
    }
    else if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingWebText)))
    {
      currentIcon = getResources().getDrawable(R.drawable.webtext);
    }
    else if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingPackage)))
    {
      currentIcon = getResources().getDrawable(R.drawable.packed);
    }
    else if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingAudio)))
    {
      currentIcon = getResources().getDrawable(R.drawable.audio);
    }
    else if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingVideo)))
    {
      currentIcon = getResources().getDrawable(R.drawable.video);
    }
    else
    {
      currentIcon = getResources().getDrawable(R.drawable.text);
    }
  }
}

下面是根據(jù)后綴對文件的類型進(jìn)行的判斷:

//通過文件名判斷是什么類型的文件
private boolean checkEndsWithInStringArray(String checkItsEnd, String[] fileEndings)
{
    for(String aEnd : fileEndings)
    {
      if(checkItsEnd.endsWith(aEnd))
        return true;
    }
    return false;
}

那么這樣我們就可以顯示出來帶圖標(biāo)的列表了,現(xiàn)在到了如果打開子目錄的介紹了,首先對Listview添加點(diǎn)擊事件,在點(diǎn)擊之后,我們根據(jù)點(diǎn)擊的內(nèi)容進(jìn)行判斷,判斷是文件還是文件夾,如果是文件夾,那么再次調(diào)用顯示,并且將以前顯示的內(nèi)容清空即可,顯示出來,如果是文件的話,那么這個(gè)根據(jù)我們的需要進(jìn)行操作:如打開、選擇等等操作了。

上面所寫的就是關(guān)于如何自己做一個(gè)文件瀏覽器,而且在這里還可以根據(jù)不同的使用地方,讓其顯示特定的文件。這個(gè)需要讀者在自己的使用中自己慢慢熟悉與摸索了!

這個(gè)Listview也是根據(jù)自己的需要進(jìn)行了布局,相信通過學(xué)習(xí)這一篇文章,你肯定會(huì)以File及ListView的使用有一個(gè)了解,也希望做出自己實(shí)用的文件瀏覽器!

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android文件操作技巧匯總》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論