首頁  >  文章  >  Java  >  Android程式設計實作檔案瀏覽功能的方法【類似FileDialog的功能】

Android程式設計實作檔案瀏覽功能的方法【類似FileDialog的功能】

高洛峰
高洛峰原創
2017-01-17 15:22:321289瀏覽

本文實例講述了Android程式實作檔案瀏覽功能的方法。分享給大家供大家參考,具體如下:

最近正在弄上傳文件,當時想怎麼能實現fileDialog的功能呢,打開文件,瀏覽文件,然後選擇文件呢,查了很多資料,也看了不少論壇,都說裡面沒有這個功能,那真是奇怪了,裡面沒有這個功能,當然就需要自己去加入這個功能了。

先說一下這個檔案瀏覽的簡單實作原理:

先選擇一個目錄做為根目錄,然後開啟此目錄,常用的就是使用File這個類別了,如下:

File file=new File(path);

然後可以透過取得到此目錄下所有文件及資料夾的列表:

如下:

File[] files = file.listFiles();

然後再根據根據得到的文件,來判斷是資料夾還是文件,如果是資料夾,那麼我們就將資料夾加入列表中,如果是文件那麼就把文件加到清單中進行顯示,如果需要顯示圖示的話,那麼就需要根據文件的後綴,設定不同的圖示了。我是在ListView中進行顯示的。

基本程式碼如下:

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);
    }
    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);
    }
  }
}

   

下面是根據後綴對文件的類型進行的判斷:

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

這樣我們就可以顯示出來了介紹了,首先對Listview添加點擊事件,在點擊之後,我們根據點擊的內容進行判斷,判斷是文件還是文件夾,如果是文件夾,那麼再次調用顯示,並且將以前顯示的內容清空即可,顯示出來,如果是文件的話,那麼這個就根據我們的需要進行操作:如開啟、選擇等等操作了。

上面所寫的就是關於如何自己做一個文件瀏覽器,而且在這裡還可以根據不同的使用地方,讓其顯示特定的文件。這個需要讀者在自己的使用上自己慢慢熟悉與摸索了!

這個Listview也是根據自己的需求進行了佈局,相信透過學習這篇文章,你肯定會以File及ListView的使用有一個了解,也希望做出自己實用的文件瀏覽器!

希望本文所述對大家Android程式設計有幫助。

更多Android程式實作檔案瀏覽功能的方法【類似FileDialog的功能】相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn