西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開(kāi)發(fā)Android → 類似于FileDialog功能的Android 文件瀏覽器

類似于FileDialog功能的Android 文件瀏覽器

前往專題相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站整理時(shí)間:2011/1/11 11:49:39字體大。A-A+

作者:佚名點(diǎn)擊:280次評(píng)論:2次標(biāo)簽: Android 文件瀏覽

  • 類型:源碼相關(guān)大。23.6M語(yǔ)言:中文 評(píng)分:9.1
  • 標(biāo)簽:
立即下載
 最近因?yàn)楸容^忙,好幾天沒(méi)有寫博客了,正好現(xiàn)在正在弄上傳文件,當(dāng)時(shí)想怎么能實(shí)現(xiàn)fileDialog的功能呢,打開(kāi)文件,瀏覽文件,然后選擇文件呢,查了好多資料,也看了不少論壇,都說(shuō)里面沒(méi)有這個(gè)功能,那真是奇怪了,里面沒(méi)有這個(gè)功能,當(dāng)然就需要自己動(dòng)手添加這個(gè)功能了。

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

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

File file=new File(path);

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

如下:

File[] files = file.listFiles();

然后再根據(jù)根據(jù)得到的文件,來(lái)判斷是文件夾還是文件,如果是文件夾,那么我們就將文件夾添加到列表中,如果是文件那么就把文件添加到列表中進(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ù)文件名來(lái)判斷文件類型,設(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ù)后綴對(duì)文件的類型進(jìn)行的判斷:

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

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

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

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

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    第 1 樓 北京開(kāi)心網(wǎng) 網(wǎng)友 客人 發(fā)表于: 2014/10/9 10:44:39
    不错

    支持( 0 ) 蓋樓(回復(fù))

    發(fā)表評(píng)論 查看所有評(píng)論(2)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)