SDカードファイルリスト
7033 ワード
MainActivity.java
package lee.sdcard;
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.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class MainActivity extends Activity {
private ListView listView; // ListView
private GridView toolbarGrid; //
private TextView title; // -
private List fileName=null; //
private List fileNum=null; //
private List filePath=null; //
private List isFile=null; //
private boolean flag = true;
private String sdCardPath; //SD
private String parentPath; //
/** **/
int[] menu_toolbar_image_array = {
R.drawable.menu_paste,
R.drawable.controlbar_back,
R.drawable.menu_penselectmodel,
R.drawable.menu_quit };
/** **/
String[] menu_toolbar_name_array = { " ", " ", " ", " " };
public void toast(String msg){
Toast.makeText(this, msg, 1).show();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
toast("Sd ");
}
sdCardPath=Environment.getExternalStorageDirectory().getPath();
// File fff=new File(sdCardPath+"/test/ddd");
// if(!fff.exists())fff.mkdirs();
listView=(ListView) findViewById(R.id.list_view);
title=(TextView) findViewById(R.id.title2);
getFileDir(sdCardPath);
// Toolbar
toolbarGrid = (GridView) findViewById(R.id.filedir_toolbar); // GridView
toolbarGrid.setNumColumns(4); //
toolbarGrid.setAdapter(getMenuAdapter(menu_toolbar_name_array,menu_toolbar_image_array));// Adapter。 getMenuAdapter MAP
/** **/
toolbarGrid.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView> arg0, View arg1, int arg2,long arg3) {
switch (arg2) {
case 0: //
getFileDir(sdCardPath);
break;
case 1: //
getFileDir(parentPath);
title.setText(" :"+parentPath);
break;
case 2:
// TODO Auto-generated method stub
break;
case 3:
MainActivity.this.finish();
break;
}
}
});
}
/**
* Adapter
* @param menuNameArray
* @param imageResourceArray
* @return SimpleAdapter
*/
private SimpleAdapter getMenuAdapter(String[] menuNameArray,int[] imageResourceArray) {
ArrayList> data = new ArrayList>();
for (int i = 0; i < menuNameArray.length; i++) {
HashMap map = new HashMap();
map.put("itemImage", imageResourceArray[i]);
map.put("itemText", menuNameArray[i]);
data.add(map);
}
SimpleAdapter simperAdapter = new SimpleAdapter(
this, //
data, //
R.layout.item_menu, //
new String[] { "itemImage", "itemText" }, //
new int[] { R.id.item_image, R.id.item_text }); //
return simperAdapter;
}
/**
*
* @param path
*/
private void getFileDir(String path) {
File f = new File(path); //
if(!path.equals(sdCardPath)){ // SD
parentPath = f.getParent(); //
}else
parentPath = sdCardPath; //
// List
fileName = new ArrayList();
fileNum = new ArrayList();
filePath = new ArrayList();
isFile = new ArrayList();
File file=new File(path); //
int fileSize = file.list().length; //
//
for(int i=0;i> list =new ArrayList