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" />
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories