使用ListView來顯示檔案清單,初始檔案目錄是"/"。
點擊ListView中一個條目時的動作:
File file=new File(paths.get(position));<br />if(file.isDirectory())<br />{<br /> getFileDir(paths.get(position));<br />}
getFileDir方法:
private void getFileDir(String filePath)<br /> {<br /> /* 設定目前所在路徑 */<br /> mPath.setText(filePath);</p><p> items=new ArrayList<String>();<br /> paths=new ArrayList<String>();<br /> File f=new File(filePath);<br /> File[] files=f.listFiles();</p><p> if(!filePath.equals(rootPath))<br /> {<br /> /* 第一筆設定為[回到根目錄] */<br /> items.add("Back to "+rootPath);<br /> paths.add(rootPath);<br /> /* 第二筆設定為[回上層] */<br /> items.add("Back to ../");<br /> paths.add(f.getParent());<br /> }<br /> /* 將所有檔案添加ArrayList中 */<br /> for(int i=0;i<files.length;i++)<br /> {<br /> File file=files[i];<br /> items.add(file.getName());<br /> paths.add(file.getPath());<br /> }</p><p> /* 聲明一ArrayAdapter,使用file_row這個Layout,<br /> 並將Adapter設定給此ListActivity */<br /> ArrayAdapter<String> fileList =<br /> new ArrayAdapter<String>(this,R.layout.file_row, items);<br /> setListAdapter(fileList);<br /> }
使用decodeFile()方法載入手機磁碟裡的圖片檔案:
mImageView = (ImageView)findViewById(R.id.mImageView);<br /> File f=new File(fileName);<br /> if(f.exists())<br /> {<br /> /* 產生Bitmap對象,並放入mImageView中 */<br /> Bitmap bm = BitmapFactory.decodeFile(fileName);<br /> mImageView.setImageBitmap(bm);<br /> }