package com.bwie.file;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import com.bwie.file.adapter.FileAdapter;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView lv;
private FileAdapter adapter;
List<String> list=new ArrayList<>();
private File file;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//查找控件
lv = (ListView) findViewById(R.id.lv);
//得到sd卡下的根目录
file = Environment.getExternalStorageDirectory();
//初始化数据
init(file);
//设置适配器并更新
adapter = new FileAdapter(MainActivity.this);
lv.setAdapter(adapter);
adapter.addrest(list);
}
private void init(File root) {
//判断是否存在sd卡,sd卡是否可读可写
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
//得到根目录下所有的文件及文件夹
File sdfiles[]=root.listFiles();
//遍历
for (File f : sdfiles) {
//判断是文件还是文件夹
if(f.isDirectory()){
init(f);//如果是文件夹,用递归方法得到文件夹下的文件
}else{
//此时的 f 是文件,然后进行选择,用后缀得到想要的文件,比如;想要图片
String name=f.toString();//得到文件名
if(name.substring(name.length()-3, name.length()).equals("jpg")||name.substring(name.length()-3, name.length()).equals("png")){
//把文件名添加到集合
list.add(name);
}
}
}
}
}
}