安卓笔记——图片选择及相机拍照
Posted _23_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓笔记——图片选择及相机拍照相关的知识,希望对你有一定的参考价值。
实现拍照功能 步骤
1、引入两个第三方依赖包
implementation 'io.github.lucksiege:pictureselector:v2.7.2'
implementation 'com.github.bumptech.glide:glide:4.12.0'
2、添加文件读写权限和相机拍照权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
android:requestLegacyExternalStorage="true"
3、拍照功能,调用第三方框架,Glide图片封装工具类
拍照
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 拍照功能
PictureSelector.create(MainActivity.this)
.openCamera(PictureMimeType.ofImage())
.imageEngine(GlideEngine.createGlideEngine())
.forResult(new OnResultCallbackListener<LocalMedia>() {
@Override
public void onResult(List<LocalMedia> result) {
// onResult Callback
for (LocalMedia localMedia : result){
Log.i("MainActivity",localMedia.getPath());
}
//todo 显示图片
//网络请求xUtils https 上传 mock 后台接收
//读取图片 io流程 流数据转成图片
Glide.with(MainActivity.this)
.load(Uri.fromFile(new File(result.get(0).getRealPath())))
.into(imageView);
}
@Override
public void onCancel() {
// onCancel Callback
}
});
}
});
选择相片
findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 选择照片功能
PictureSelector.create(MainActivity.this)
.openGallery(PictureMimeType.ofImage())
.imageEngine(GlideEngine.createGlideEngine())
.forResult(new OnResultCallbackListener<LocalMedia>() {
@Override
public void onResult(List<LocalMedia> result) {
// onResult Callback
for (LocalMedia localMedia : result){
Log.i("MainActivity",localMedia.getPath());
}
//todo 显示图片
//网络请求xUtils https 上传 mock 后台接收
//读取图片 io流程 流数据转成图片
Glide.with(MainActivity.this)
.load(Uri.fromFile(new File(result.get(0).getRealPath())))
.into(imageView);
}
@Override
public void onCancel() {
// onCancel Callback
}
});
}
});
4、如果报错,uses-sdk版本太低,进行修改
以上是关于安卓笔记——图片选择及相机拍照的主要内容,如果未能解决你的问题,请参考以下文章
hybird app项目实例:安卓webview中HTML5拍照图片上传