Android簡單文件瀏覽器源代碼

jopen 10年前發布 | 24K 次閱讀 Android Android開發 移動開發

Android簡單文件瀏覽器源代碼

    <LinearLayout xmlns:android="
        xmlns:tools="
        android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center_horizontal"
tools:context=".MainActivity" >

    <TextView  
        android:id="@+id/txt1"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content" />  
   <ImageButton   
       android:id="@+id/imageBt1"  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:src="@drawable/home"/>  

    <ListView  
        android:id="@+id/listFile"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content" >  
    </ListView>  

</LinearLayout>  </pre><a class="CopyToClipboard" title="copy" href="/misc/goto?guid=4959550710898331397"></a></div>

</div> </div>

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

    <ImageView  
        android:id="@+id/images"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content" />  

    <TextView  
        android:id="@+id/txtview"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content" />  

</LinearLayout>  </pre></b><br />

package com.android.xiong.sdfilelook;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;

public class MainActivity extends Activity {

private ListView listfile;  
//當前文件目錄  
private String currentpath;  
private TextView txt1;  
private ImageView images;  
private TextView textview;  
private ImageButton imagebt1;  

private int[] img = { R.drawable.file, R.drawable.folder, R.drawable.home };  
private File[] files;  
private SimpleAdapter simple;  

@Override  
protected void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main);  
    listfile = (ListView) findViewById(R.id.listFile);  
    txt1 = (TextView) findViewById(R.id.txt1);  
    imagebt1 = (ImageButton) findViewById(R.id.imageBt1);  
    init(Environment.getExternalStorageDirectory());  
    listfile.setOnItemClickListener(new OnItemClickListener() {  

        @Override  
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,  
                long arg3) {  
            // TODO Auto-generated method stub  
            // 獲取單擊的文件或文件夾的名稱  
            String folder = ((TextView) arg1.findViewById(R.id.txtview))  
                    .getText().toString();  
            try {  
                File filef = new File(currentpath + '/'  
                        + folder);  
                init(filef);  

            } catch (Exception e) {  
                e.printStackTrace();  
            }  

        }  
    });  
    //回根目錄  
    imagebt1.setOnClickListener(new OnClickListener() {  

        @Override  
        public void onClick(View v) {  
            init(Environment.getExternalStorageDirectory());      
        }  
    });  

}  
// 界面初始化  
public void init(File f) {  
    if (Environment.getExternalStorageState().equals(  
            Environment.MEDIA_MOUNTED)) {  
        // 獲取SDcard目錄下所有文件名  
        files = f.listFiles();  
        if (!files.equals(null)) {  
            currentpath=f.getPath();  
            txt1.setText("當前目錄為:"+f.getPath());  
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();  
            for (int i = 0; i < files.length; i++) {  
                Map<String, Object> maps = new HashMap<String, Object>();  
                if (files[i].isFile())  
                    maps.put("image", img[0]);  
                else  
                    maps.put("image", img[1]);  
                maps.put("filenames", files[i].getName());  
                list.add(maps);  
            }  
            simple = new SimpleAdapter(this, list,  
                    R.layout.fileimageandtext, new String[] { "image",  
                            "filenames" }, new int[] { R.id.images,  
                            R.id.txtview });  
            listfile.setAdapter(simple);  

        }  
    } else {  
        System.out.println("該文件為空");  
    }  
}  

@Override  
public boolean onCreateOptionsMenu(Menu menu) {  
    // Inflate the menu; this adds items to the action bar if it is present.  
    getMenuInflater().inflate(R.menu.main, menu);  
    return true;  
}  

} </pre></b></div> </div> </div> 來自:http://blog.csdn.net/x605940745/article/details/12580367

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!