package com.example.scannerpicture;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
public class MainActivity extends Activity {
//创建一个图片容器
private List<File> bitmaps = new ArrayList<File>();
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
}
public void btnScannerPic(View v){
scannerPicture(Environment.getExternalStorageDirectory());
MyAdapter adapter = new MyAdapter();
lv.setAdapter(adapter);
}
/**
* 扫描sdcard图片
* @param root
*/
private void scannerPicture(File root){
//sdcard 文件、文件夹
File[] files = root.listFiles();
for (File file : files) {
//判断是否是文件夹
if(file.isDirectory()){
scannerPicture(file);
}else{
String name = file.getName();
//判断是否是一个jgp格式的图片
if(name.endsWith("jpg")){
bitmaps.add(file);
}
}
}
}
class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
return bitmaps.size();
}
@Override
public Object getItem(int position) {
return bitmaps.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = View.inflate(MainActivity.this, R.layout.item, null);
}
ImageView ivIcon = (ImageView) convertView.findViewById(R.id.ivIcon);
//显示图片
//图片转换工厂 : 将图片file转化成一个bitmap(位图)
Bitmap bm = BitmapFactory.decodeFile(bitmaps.get(position).getPath());
//设置图片
ivIcon.setImageBitmap(bm);
return convertView;
}
}
}
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
public class MainActivity extends Activity {
//创建一个图片容器
private List<File> bitmaps = new ArrayList<File>();
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
}
public void btnScannerPic(View v){
scannerPicture(Environment.getExternalStorageDirectory());
MyAdapter adapter = new MyAdapter();
lv.setAdapter(adapter);
}
/**
* 扫描sdcard图片
* @param root
*/
private void scannerPicture(File root){
//sdcard 文件、文件夹
File[] files = root.listFiles();
for (File file : files) {
//判断是否是文件夹
if(file.isDirectory()){
scannerPicture(file);
}else{
String name = file.getName();
//判断是否是一个jgp格式的图片
if(name.endsWith("jpg")){
bitmaps.add(file);
}
}
}
}
class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
return bitmaps.size();
}
@Override
public Object getItem(int position) {
return bitmaps.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = View.inflate(MainActivity.this, R.layout.item, null);
}
ImageView ivIcon = (ImageView) convertView.findViewById(R.id.ivIcon);
//显示图片
//图片转换工厂 : 将图片file转化成一个bitmap(位图)
Bitmap bm = BitmapFactory.decodeFile(bitmaps.get(position).getPath());
//设置图片
ivIcon.setImageBitmap(bm);
return convertView;
}
}
}