Android中头像选择,图片上传等功能几乎是每一个APP必备的功能,那么关于怎么使用相机,如何进行照片选择,以及选择后的图片裁剪,这一系列的问题都需要逐一解决。这也是本篇文章的主要内容。
一、应用场景
微信朋友圈上传图片,头像上传等功能,经常就会用到以上功能。
二、业务逻辑
主要分为两种业务逻辑:拍照,选择图片。
拍照逻辑:
1.A 界面,点击按钮调用相机拍照;
2.拍照界面拍照后,点击确认得到拍完照片,跳转到 B 界面进行预览;
3.B 界面进行图片裁剪,裁剪后确认,返回A界面进行图片回显;
选择图片逻辑:
1.A界面,点击按钮调用相册选择图片;
2.相册界面选择图片后,跳转到B界面进行预览;
3.B 界面进行图片裁剪,裁剪后确认,返回A界面进行图片回显;
从上面可以清楚地看出,两种方式的主要区别在第一步上面,一种是选择调用相机,另一种选择是调用相册。
下面我们来介绍具体代码逻辑。
三、拍照具体实现
以如下使用场景为例:
头像上传的使用。
1.调用相机
Android 程序上实现拍照功能的方式分为两种:第一种是利用相机的 API 来自定义相机,第二种是利用 Intent 调用系统指定的相机拍照。下面讲的内容都是针对第二种实现方式的应用。
简单使用
Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri fileUri = Uri.fromFile(mPhotoFile);
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
startActivityForResult(captureIntent, CAPTURE_PHOTO_REQUEST_CODE);
很简单,通过上述四行代码就实现了调用系统相机。