SD卡文件列表
16lz
2021-01-26
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;//文件目录ListViewprivate 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); // 创建底部菜单 ToolbartoolbarGrid = (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 stubbreak;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();//如果不是根路径就获取该路径的上级路径}elseparentPath = sdCardPath;//如果是根路径就 //初始化存放个数据的ListfileName = 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
更多相关文章
- 12.6 时间与日期
- android的http工具类
- Android(安卓)使用Camera 打开预览Demo
- Android(安卓)build.gradle 问题:transformClassesWithPreJackPac
- Android(安卓)studio 添加JNI后报错
- Android(安卓)找不到so库(系统非公开库)文件
- Ubuntu系统下Android4.0源码开发多寄存器变量路口信号灯控制系统
- 10.Binder进阶:系统服务中的Binder
- Android(安卓)官方屏幕适配之ScreenMatch