//参考代码 http://blog.csdn.net/a_asinceo/article/details/7582584 不过有些地方不是很理解 就按自己的写了 程序没问题 但是为什么显示同一张图片?明明有好几张图片
public class MainActivity extends Activity {
private int Position= 0;
private String fileName = null;
private String suffix = null;
private File sdcardDir=null;
private List<HashMap<String, String>> picFiles = new ArrayList<HashMap<String,String>>();
private HashMap<String,String> pic = new HashMap<String, String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallyshow);
boolean isSDExist=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
if(isSDExist){//如果Sdcard存在执行下面的
sdcardDir=Environment.getExternalStorageDirectory();
String sdPath = sdcardDir.toString();
System.out.println(sdPath);
File file = new File(sdPath);
File[] files = file.listFiles();
for(int i=0;i<files.length;i++)
{ if(files[i].isFile()){itIsfile(files[i]);}
else{ itNotfile(files[i]);}
}}
}
private void itIsfile(File file) {
// TODO Auto-generated method stub
fileName = file.getName();
Position=fileName.indexOf(".");
GridView gridView = (GridView)findViewById(R.id.gridview);
String[]from = { "image"};
int[]to = {R.id.ItemImage };
if(Position>0){
suffix=fileName.substring(Position+1);
if(suffix.equals("jpg")||suffix.equals("png")){
if(file.length()>2000){
System.out.println(fileName);
System.out.println(file.getPath());
// System.out.println("文件大小为"+file.length());
pic.put("image", file.getPath());//把文件路径放到中
picFiles.add(pic);
}
SimpleAdapter adapter = new SimpleAdapter(this,picFiles,R.layout.imageitem1,from,to);
gridView.setAdapter(adapter);
}
}
}
private void itNotfile(File file) {
// TODO Auto-generated method stub
File[] files = file.listFiles();
if(files==null){return;}
for(int i=0;i<files.length;i++)
{ if(files[i].isFile()){itIsfile(files[i]);}
if(!files[i].isFile()){itNotfile(files[i]);}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
public class MainActivity extends Activity {
private int Position= 0;
private String fileName = null;
private String suffix = null;
private File sdcardDir=null;
private List<HashMap<String, String>> picFiles = new ArrayList<HashMap<String,String>>();
private HashMap<String,String> pic = new HashMap<String, String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallyshow);
boolean isSDExist=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
if(isSDExist){//如果Sdcard存在执行下面的
sdcardDir=Environment.getExternalStorageDirectory();
String sdPath = sdcardDir.toString();
System.out.println(sdPath);
File file = new File(sdPath);
File[] files = file.listFiles();
for(int i=0;i<files.length;i++)
{ if(files[i].isFile()){itIsfile(files[i]);}
else{ itNotfile(files[i]);}
}}
}
private void itIsfile(File file) {
// TODO Auto-generated method stub
fileName = file.getName();
Position=fileName.indexOf(".");
GridView gridView = (GridView)findViewById(R.id.gridview);
String[]from = { "image"};
int[]to = {R.id.ItemImage };
if(Position>0){
suffix=fileName.substring(Position+1);
if(suffix.equals("jpg")||suffix.equals("png")){
if(file.length()>2000){
System.out.println(fileName);
System.out.println(file.getPath());
// System.out.println("文件大小为"+file.length());
pic.put("image", file.getPath());//把文件路径放到中
picFiles.add(pic);
}
SimpleAdapter adapter = new SimpleAdapter(this,picFiles,R.layout.imageitem1,from,to);
gridView.setAdapter(adapter);
}
}
}
private void itNotfile(File file) {
// TODO Auto-generated method stub
File[] files = file.listFiles();
if(files==null){return;}
for(int i=0;i<files.length;i++)
{ if(files[i].isFile()){itIsfile(files[i]);}
if(!files[i].isFile()){itNotfile(files[i]);}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}