Java.lang.String android.net.Uri.toString() для нулевой ссылки на объектJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java.lang.String android.net.Uri.toString() для нулевой ссылки на объект

Сообщение Anonymous »

Я пытаюсь получить URL-адрес загрузки при условии, что путь к изображению для ссылки на хранилище имеет значение NULL или нет.
Я пытался поместить весь код в if else вместо того, чтобы просто присваивать значение download_uri внутри условия, которое устраняет ошибку. Я не могу понять, почему этот подход работает, а другой нет.

Код: Выделить всё

SaveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String name=mProfileName.getText().toString();
if(!TextUtils.isEmpty(name) && mainImageUri!=null){
mProgressBar.setVisibility(View.VISIBLE);
if(isChanged){
//The task of storing the data goes through uploading the image as well.

user_id = mUser.getUid();

final StorageReference image_path= mStorageReference.child("profile_photo").child(user_id+".jpg");
image_path.putFile(mainImageUri).addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if(task.isSuccessful()){
storeFireStore(image_path,name);
}else{
String error = task.getException().getMessage();
Toast.makeText(SetUpActivity.this,"Image Error: "+error,Toast.LENGTH_SHORT).show();

}
mProgressBar.setVisibility(View.INVISIBLE);

}
});

}else{
//The task of storing the data does not go through uploading the image.
storeFireStore(null,name);
mProgressBar.setVisibility(View.INVISIBLE);
}
}

}
});

private void storeFireStore(StorageReference image_path, final String name) {
final Uri[] download_uri = new Uri[1];
if (image_path != null) {
image_path.getDownloadUrl().addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(Uri uri) {
download_uri[0] = uri;
Log.d(TAG, "Download Url obtained");
}
});
} else {
download_uri[0] = mainImageUri;
Log.d(TAG, "Download Url obtained in else");
}

Map userMap = new HashMap();
userMap.put("image", download_uri[0].toString());
//where the error occurs.userMap.put("name", name);
}
Я ожидаю получить download_uri, но он предоставляет нулевое значение.


Подробнее здесь: https://stackoverflow.com/questions/568 ... -reference
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Java.lang.String android.net.Uri.toString() для нулевой ссылки на объект, LogCat показывает эту ошибку в строке 202
    Anonymous » » в форуме Android
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Java.lang.String android.net.Uri.toString() для нулевой ссылки на объект
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Android: java.lang.nullpointerException: попытка вызвать виртуальный метод 'java.lang.string java.lang.object.tostring (
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Ошибка: put(java.lang.string, list) в хэш-карте нельзя применить к (java.util.list)
    Гость » » в форуме JAVA
    0 Ответы
    253 Просмотры
    Последнее сообщение Гость
  • Ошибка: put(java.lang.string, list) в хэш-карте нельзя применить к (java.util.list)
    Гость » » в форуме Android
    0 Ответы
    232 Просмотры
    Последнее сообщение Гость

Вернуться в «JAVA»