Итак, я делаю университетский проект, в рамках которого я разрешаю пользователю выбрать изображение из камеры / галереи, а затем также выбрать mp3.Я хотел бы взять эти два выбранных файла и сохранить их во внутреннем каталоге хранения с тем же именем (будет отличаться только расширение .mp3 / .jpg)
Мне удалось получить код для создания папкиа также получить изображение с камеры / галереи, но я не могу решить, как сохранить его во внутреннем каталоге хранения или как получить mp3 таким же образом.
Код для создания папки
try{ File folder = new File(Environment.getExternalStorageDirectory() + "/InkousticMedia");
boolean success = true;
if (!folder.exists()) {
success = folder.mkdir();
}
}catch (Exception e){
Log.e("MODEL", "ERROR: " + e.toString());
}
Код для получения изображения из MediaStore:
public class SaveTattooActivity extends AppCompatActivity {
public void getPhoto()
{
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent,1);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(requestCode == 1)
{
if(grantResults.length >0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
{
getPhoto();
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_save_tattoo);
if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)
{
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
}else
{
getPhoto();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1 && requestCode == RESULT_OK && data != null)
{
Uri selectedImage = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
ImageView imageView = (ImageView) findViewById(R.id.imageView);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Я рассмотрел другие похожие вопросы по стеку, но все они сильно отличаются друг от друга, и нет конкретного ответа, на который я могу ответитьКажется, получается, что я могу сохранить как mp3, так и изображение в каталог.