Я создал функцию загрузки фотографий. Пользователь может сделать фото и выбрать фото из файла и загрузить его на сервер.
На данный момент фото успешно загружено на сервер. Но когда я смотрю на свое приложение, оно показывает старое изображение. изображение не обновляется в представлении изображений в моем приложении. Я слышал об общих предпочтениях, с помощью которых пользователь может устанавливать свое изображение столько, сколько захочет.
Я использую библиотеку Volley для отправки данных POST из моего приложения для загрузки фотографии и использую библиотеку Glide для загрузки и отображения этой фотографии в приложении.
Я даю небольшую часть моего кода, который связан с загрузкой и скачиванием фотографий. Помогите, пожалуйста, определить и решить проблему.
public void showDialog(){
........
alertButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
alert.dismiss();
}
});
alertListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// ListViekw Clicked item index
if (position == 0) {
cameraIntent();
}
else if (position == 1){
galleryIntent();
}
}
});
}
private void galleryIntent()
{
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "Select File"),SELECT_FILE);
}
public void cameraIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
File cameraFolder;
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
cameraFolder = new File(Environment.getExternalStorageDirectory(), "image/");
} else {
cameraFolder = getActivity().getCacheDir();
}
if (!cameraFolder.exists()) {
cameraFolder.mkdirs();
}
String imageFileName = System.currentTimeMillis() + ".jpg";
File photoFile = new File(cameraFolder + imageFileName);
currentPhotoPath = photoFile.getAbsolutePath();
if (photoFile != null) {
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(takePictureIntent, REQUEST_CAMERA);
}
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_FILE){
onSelectFromGalleryResult(data);
}
else if (requestCode == REQUEST_CAMERA) {
if (!TextUtils.isEmpty(currentPhotoPath)) {
galleryAddPic();
onCaptureImageResult();
}
}
}
}
private void galleryAddPic() {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(currentPhotoPath);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
this.getActivity().sendBroadcast(mediaScanIntent);
}
private void onCaptureImageResult() {
Bitmap bitmap = getBitmapFromPath(currentPhotoPath, 200, 200);
image.setImageBitmap(bitmap);
compressBitMap(bitmap);
}
private void onSelectFromGalleryResult(Intent data) {
...
}
private void compressBitMap(Bitmap bitmap) {
...
}
public static Bitmap getBitmapFromPath(String photoPath, int targetW, int targetH) {
....
}
private void uploadImage(final byte[] bytesArray){
}
}