您的位置:首页 > 移动开发 > Android开发

android选择相片和拍照保存

2015-11-24 20:59 555 查看
public class Main_Activity extends Activity {

Button select, take;
ImageView imageView;
private Uri uri_tp;
final private int SELECT = 1, TAKE = 2;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
select = (Button) findViewById(R.id.select);
take = (Button) findViewById(R.id.take);
imageView = (ImageView) findViewById(R.id.imageview);
select.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, SELECT);
}
});
take.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

File file = new File("/sdcard/", "takaphoto.jpg");

try {
if (file.exists()) {
file.delete();
}
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
uri_tp = Uri.fromFile(file);
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri_tp);
startActivityForResult(intent, TAKE); // 启动相机程序
}
});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (-1 == resultCode) {
switch (requestCode) {
case SELECT:
Uri uri = data.getData();
try {
Bitmap bitmap = BitmapFactory
.decodeStream(getContentResolver().openInputStream(
uri));
imageView.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case TAKE:
try {
Bitmap bitmap = BitmapFactory
.decodeStream(getContentResolver().openInputStream(
uri_tp));
imageView.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;

default:
break;
}

}
}

}


切记要申请读写sdcard权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息