Android 檔案的瀏覽(類似於FileDialog的功能)

來源:互聯網
上載者:User

最近因為比較忙,好幾天沒有寫部落格了,正好現在正在弄上傳檔案,當時想怎麼能實現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的使用有一個瞭解,也希望做出自己實用的檔案瀏覽器!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.