編輯:關於Android編程
本文實例講述了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文件操作技巧匯總》、《Android數據庫操作技巧總結》、《Android編程之activity操作技巧總結》、《Android編程開發之SD卡操作方法匯總》、《Android開發入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
點擊打開鏈接 Rabbit and Grass Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 327
Android中的消息處理機制大量依賴於Handler。每個Handler都有對應的Looper,用於不斷地從對應的MessageQueue中取出消息處理。 一直以來,覺
如今我們大部分人都在玩微信,都用手機綁定了微信號,手機的功能太強大了,如果手機丟了,或者要換手機號碼怎麼辦?沒關系啦,騰訊公司也會想到這個問題,下面我來為大
在Android程序中很多客戶端軟件和浏覽器軟件都喜歡用Tab分頁標簽來搭建界面框架。讀者也許會馬上想到使用TabHost 與 TabActivity的組合,其實最常用的