0

Я работаю над проектом Android, где я использую firebase в качестве моего бэкэнда. Я сохранил изображение в базе данных в качестве URL-адреса, и я пытаюсь получить изображение в приложении, используя Picasso library. Но я не могу получить базу данных формы изображения. Ниже мой код.Как получить изображение URL-адрес базы данных firebase andriod

Фрагмент класс, который я использую, чтобы получить данные:

public class McaFirstSemSylabus extends Fragment { 

    public ImageView mcafirstsemsylbausimag; 

    Syllabus sl; 
    DatabaseReference loadmcafirstsylabus; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     View rootView = inflater.inflate(R.layout.activity_mca_first_sem_sylabus, container, false); 
     loadmcafirstsylabus = FirebaseDatabase.getInstance().getReference().child("Syllabus").child("McaSyllabus").child("Firstsem"); 

     mcafirstsemsylbausimag = (ImageView) rootView.findViewById(R.id.mcasylabus_img); 

     String img = sl.getImg(); 

     Picasso.with(getActivity().getApplicationContext()).load(img).into(mcafirstsemsylbausimag); 
     return rootView; 
    } 
} 

Ниже класс POJO, которые состоят из добытчиков и сеттеров:

public class Syllabus { 

    private String img; 

    public String getImg() { 
     return img; 
    } 

    public void setImg(String img) { 
     this.img = img; 
    } 

    public Syllabus(){ 
    } 

    public Syllabus(String image) { 
     this.img = image; 
    } 
} 
+0

Что такое проблема здесь? NullPointerException в 'sl.getImg();'? –

+0

yes thats my erorr "Null pointerException" –

+0

И вы понимаете, что это значит? Как это исправить? Пожалуйста, отредактируйте с помощью logcat. –

ответ

1

Это потому, что ваш объект Силабуса пуст! Вы должны дать ValueEventListener к объекту, который вы сохранили в этом конкретном ребенке

loadmcafirstsylabus.addListenerForSingleValueEvent(new ValueEventListener() { 
       @Override 
       public void onDataChange(DataSnapshot dataSnapshot) { 
       //this retrives the java object you saved in that particular child 
       sl = dataSnapshot.getValue(Syllabus.class); 
       String img = sl.getImg(); 

       //rest of your code 
       } 
+0

Я пробовал эту модификацию кода, но я получаю ошибку исключения null-указателя , –

+1

sory для вышеуказанного комментария. я очистил свой проект и снова запустил код, который работает правильно, спасибо вам большое. –

+0

Прохладный! обратите внимание, что я использовал addListenerForSingleValueEvent, чтобы приведенный выше код выполнялся только один раз, в зависимости от ваших потребностей, которые вы, возможно, захотите использовать addValueEventListener, будьте осторожны –

 Смежные вопросы

  • Нет связанных вопросов^_^