这个主要是实现Bitmap和Drawable之间的转换以及SD卡路径的获取问题:
package cn.com;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.os.Environment;
import android.widget.ImageView;
public class UserSdCardImage extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView iv = (ImageView) findViewById(R.id.image);
showpic(iv);
}
private void showpic(ImageView iv) {
File sdcardDir = Environment.getExternalStorageDirectory();
String path = sdcardDir.getParent() + sdcardDir.getName();
System.out.println("________________________" + path);
File pic = new File(path + java.io.File.separator + "88.jpg");
FileInputStream is = null;
try {
is = new FileInputStream(pic);
Bitmap bm = BitmapFactory.decodeStream(is, null, null);
int w = bm.getWidth();
int h = bm.getHeight();
double s = 0.6;
float sw = 1, sh = 1;
sw = (float) (sw * s);
sh = (float) (sh * s);
Matrix mx = new Matrix();
mx.postScale(sw, sh);
Bitmap rp = Bitmap.createBitmap(bm, 0, 0, w, h, mx, true);
iv.setImageBitmap(rp);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}