1)效果图如下

Android 实现windows文件资源管理器_第1张图片

2)关键代码如下

package com.example.filedemo;import java.io.File;import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;import android.widget.TextView;import android.view.View;public class MainActivity extends Activity {private ListView listView1=null;private Button homeButton=null;private Button previousButton=null;private TextView pathTextView=null;/** rootPathString 根目录 * itemsList 存储文件名* pathsList 存储文件路径* */private String rootPathString="/";private List<String> itemsList=null;private List<String> pathsList=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listView1=(ListView)findViewById(R.id.listView1);/*进入单击目录*/listView1.setOnItemClickListener(new ListView.OnItemClickListener(){public void onItemClick(AdapterView<?> parent,View view,int position,long arg3){/*获取单击文件*/File file=new File(pathsList.get(position));if(file.isDirectory()){getFiles(pathsList.get(position));}}});/*进入根目录*/homeButton=(Button)findViewById(R.id.homeButton);homeButton.setOnClickListener(new Button.OnClickListener() {@Overridepublic void onClick(View arg0) {getFiles(rootPathString);}});/*进入上一级目录*/previousButton=(Button)findViewById(R.id.PreviousButton);previousButton.setOnClickListener(new Button.OnClickListener() {@Overridepublic void onClick(View v) {String currentPathString=pathTextView.getText().toString();if(!currentPathString.equals(rootPathString)){File currentFile=new File(currentPathString);getFiles(currentFile.getParent());}}});pathTextView=(TextView)findViewById(R.id.pathTextView);getFiles(rootPathString);}/** 获取当前目录文件* */private void getFiles(String filePathString){/*显示当前路径*/pathTextView.setText(filePathString);/*显示当前目录文件*/itemsList=new ArrayList<String>();pathsList=new ArrayList<String>();File currentFile=new File(filePathString);File[] files=currentFile.listFiles();if(files!=null&&files.length>0){for(int i=0;i<files.length;i++){File file=files[i];if(file.isDirectory()){itemsList.add(file.getName()+"(dir)");}else {itemsList.add(file.getName()+"(file)");}pathsList.add(file.getPath());}}ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, itemsList);listView1.setAdapter(adapter);}@Overridepublic 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;}}


更多相关文章

  1. AndroidManifest.xml文件详解(activity)(一)
  2. android 根据Uri获取文件绝对路径
  3. 重命名sd卡中的文件名
  4. android用intent打开各种文件
  5. No 98 · Android 下载文件及写入SD卡(摘)
  6. 【android开发】android操作文件
  7. android 播放Raw文件夹下的音乐文件
  8. 转:android 实现 流媒体 播放远程mp3文件 代码

随机推荐

  1. hello,Android
  2. Android(安卓)Button按钮点击变换字体颜
  3. 一个Activity的显示过程总结(二)
  4. 【android studio】 gradle配置成本地离
  5. Android(安卓)studio安装与调试
  6. android源码学习之源码编译并nexus s真机
  7. Android(安卓)中handler 的应用
  8. Android(安卓)Studio工程 build.gradle
  9. android调试工具
  10. MTP in Android详解