2024.5.14(第二阶段冲刺第二天)

所学时间:2小时

代码行数:126行

博客园数:1篇

所学知识:

1.我昨天的成就:准备写一个拍照系统,可以拍完照片把店家显示到前台,还可以传输到后端数据库

2.遇到什么困难:打开相机出现问题。

3.今天的任务:解决相机出现的问题

4.今天所敲的代码:


@RequiresApi(api = Build.VERSION_CODES.N)
private void openCamera(){
String imageName = new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault()).format(new Date());
//File outputImage = new File(requireContext().getExternalCacheDir(), imageName+".jpg");
File outputImage = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), imageName+".jpg");
Objects.requireNonNull(outputImage.getParentFile()).mkdirs();
try
{
if(outputImage.exists())
{
outputImage.delete();
}
boolean a = outputImage.createNewFile();
Log.e("createNewFile", String.valueOf(a));
}
catch (IOException e)
{
e.printStackTrace();
}

imageUri= FileProvider.getUriForFile(requireContext(), "com.example.teamwork.fileprovider",outputImage);
path=imageUri.getPath();
Log.e("存储的拍照路径为:::",path);
Intent intent0=new Intent("android.media.action.IMAGE_CAPTURE");
intent0.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
startActivityForResult(intent0,TAKE_PHOTO);
}

@SuppressLint("SetTextI18n")
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==-1){
try {
bitmap = BitmapFactory.decodeStream(requireContext().getContentResolver().openInputStream(imageUri));
} catch (FileNotFoundException e)
{
e.printStackTrace();
}catch (Exception e){
e.printStackTrace();
}
path=imageUri.getPath();
pic.setImageBitmap(bitmap);
pic.invalidate();
}
}
posted @ 2024-05-14 23:37  kuku睡  阅读(5)  评论(0编辑  收藏  举报