Android简单文件浏览器源代码

jopen 11年前

Android简单文件浏览器源代码

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"            xmlns:tools="http://schemas.android.com/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>  
</div> </div>
    <?xml version="1.0" encoding="utf-8"?>        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/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>  

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;        }        }  
</div> </div> 来自:http://blog.csdn.net/x605940745/article/details/12580367