Я хочу создать приложение для Android, чтобы сделать снимок, тогда мы можем сделать некоторые комментарии с редактировать текстовый вид и когда я нажимаю кнопку отправки, изображение и комментарий появляются в базе данных (поэтому мы можем использовать ноутбук, чтобы увидеть результаты базы данных)
Вот как вы делаете снимок, а затем загружаете его в представление изображений:
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_main);
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 && resultCode == 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();
}
}
}
Чтобы сохранить его в базе данных, проверьте этот.
Вы можете использовать следующий код для захвата изображения:
public void captureImage() {
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{
android.Manifest.permission.CAMERA
}, 6);
}
return;
}
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, CAMERA_REQUEST_CODE);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case 6:
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
captureImage();
}
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
uploading.show();
if (requestCode == CAMERA_REQUEST_CODE && resultCode == RESULT_OK) {
bitmap = (Bitmap) data.getExtras().get("data");
} else if (requestCode == GALLERY_INTENT && resultCode == RESULT_OK) {
try {
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), data.getData());
} catch (IOException e) {
e.printStackTrace();
}
}
if (bitmap != null) {
toStringImage(bitmap); //this function will convert image into Base64 string
} else {
uploading.dismiss();
}
}
Проверьте тот же код на GitHub по адресу:
captureImage
Теперь, чтобы загрузить это изображение в базу данных:
Проверьте этот ответ как загрузить изображение в базу данных.