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();
}
}