码迷,mamicode.com
首页 > 移动开发 > 详细

Android简单文件浏览器源代码 (转)

时间:2014-11-09 13:49:55      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:android   blog   http   io   ar   os   java   sp   for   

 

Android简单文件浏览器源代码 (转)

 

bubuko.com,布布扣

 

activity_main .xml

<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>

 

fileimageandtext.xml

 

<?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>

 

activity_main.java

 
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;
	}

}

 

Android简单文件浏览器源代码 (转)

标签:android   blog   http   io   ar   os   java   sp   for   

原文地址:http://www.cnblogs.com/geniusxjq/p/4084931.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!