foodAdpter adpter= new foodAdpter(MainActivity.this,R.layout.food,foodlist);
inttfood();
foodTypeAdpter adpter2 = new foodTypeAdpter(MainActivity.this,R.layout.foodtype,foodtypelist);
GridView gridview = (GridView)findViewById(R.id.GridView1);
ListView listview = (ListView) findViewById(R.id.ListView1);
gridview.setAdapter(adpter);
//listview.setAdapter(adpter2);
}
// 取foodImage中的图片
private List<String> getImagePathFromSD() {List<String> imagePathList = new ArrayList<String>();
String filePath = Environment.getExternalStorageDirectory().toString() + File.separator + "foodImage";
File fileAll = new File(filePath);
File[] files = fileAll.listFiles();
for (int i = 0; i < files.length; i++)
{
File file = files[i];
if (checkIsImageFile(file.getPath()))
{
imagePathList.add(file.getPath());
}
}
return imagePathList;
}
//获取文件名
private List<String>getImageNameFromSD()
{
List<String>imageName = new ArrayList<String>();
String filePath = Environment.getExternalStorageDirectory().toString() + File.separator + "foodImage";
File fileAll = new File(filePath);
File[] files = fileAll.listFiles();
for (int i = 0; i < files.length; i++)
{
File file = files[i];
if (checkIsImageFile(file.getPath()))
{
imageName.add(file.getName());
}
}
return imageName;
}
//压缩图片
private Bitmap compressImage(String ImagePath) //压缩图片,防止内存溢出
{
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Config.RGB_565;
opt.inPurgeable = true;
opt.inInputShareable = true;
Bitmap tmpbmp = BitmapFactory.decodeFile(ImagePath, opt);
//Bitmap tmpbmp = BitmapFactory.decodeStream(is,null, opt);
return tmpbmp;
}
//判断图片
private boolean checkIsImageFile(String fName) {
boolean isImageFile = false;
// 获取扩展名
String FileEnd = fName.substring(fName.lastIndexOf(".") + 1,
fName.length()).toLowerCase();
if (FileEnd.equals("jpg") || FileEnd.equals("png") || FileEnd.equals("gif")
|| FileEnd.equals("jpeg")|| FileEnd.equals("bmp") ) {
isImageFile = true;
} else {
isImageFile = false;
}
return isImageFile;
}
//初始化
private void inttfood() {
for(int i = 0;i<getImagePathFromSD().size();i++)
{
String foodName=getImageNameFromSD().get(i).substring(0, getImageNameFromSD().get(i).length() - 4);
Bitmap foodImage = compressImage(getImagePathFromSD().get(i));
food i1 = new food(foodName,foodImage);
foodlist.add(i1);
}