简单的 Android 拍照并显示以及获取路径后上传
简单的 Android 拍照并显示以及获取路径后上传
Activity 中的代码,我只贴出重要的事件部分代码
public void doPhoto(View view){destoryBimap();String state = Environment.getExternalStorageState();if (state.equals(Environment.MEDIA_MOUNTED)) {Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");startActivityForResult(intent, 1);} else {Toast.makeText(MainActivity.this, "没有SD卡", Toast.LENGTH_LONG).show();}}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data){Uri uri = data.getData();if (uri != null) {this.photo = BitmapFactory.decodeFile(uri.getPath());}if (this.photo == null) {Bundle bundle = data.getExtras();if (bundle != null) {this.photo = (Bitmap) bundle.get("data");} else {Toast.makeText(MainActivity.this, "拍照失败", Toast.LENGTH_LONG).show();return;}}FileOutputStream fileOutputStream = null;try {// 获取 SD 卡根目录String saveDir = Environment.getExternalStorageDirectory() + "/meitian_photos";// 新建目录File dir = new File(saveDir);if (! dir.exists()) dir.mkdir();// 生成文件名SimpleDateFormat t = new SimpleDateFormat("yyyyMMddssSSS");String filename = "MT" + (t.format(new Date())) + ".jpg";// 新建文件File file = new File(saveDir, filename);// 打开文件输出流fileOutputStream = new FileOutputStream(file);// 生成图片文件this.photo.compress(Bitmap.CompressFormat.JPEG, 100, fileOutputStream);// 相片的完整路径this.picPath = file.getPath();ImageView imageView = (ImageView) findViewById(R.id.showPhoto);imageView.setImageBitmap(this.photo);} catch (Exception e) {e.printStackTrace();} finally {if (fileOutputStream != null) {try {fileOutputStream.close();} catch (Exception e) {e.printStackTrace();}}}}/*** 销毁图片文件*/private void destoryBimap(){if (photo != null && ! photo.isRecycled()) {photo.recycle();photo = null;}} Layout 布局页面
其中的上传工具类请查看该文章:
http://blog.csdn.net/zhouzme/article/details/18952053
转载于:https://www.cnblogs.com/zhouzme/p/5758512.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
