Модель категории model = DataSnapshot.GetValue(ModelCategory.class); Приложение раздавить

# #java #firebase #android-studio #firebase-realtime-database #firebase-authentication

Вопрос:

Приложение раздавлено…. ошибка не отображается в Android studio, но пока я запускаю приложение, оно раздавлено и отмечено ошибкой в ModelCategory model = DataSnapshot.GetValue(ModelCategory.class); Весь код верен, но пока я запускаю приложение, оно раздавливается…. название модели такое же, как в хранилище firebase, но раздавливается…..

 private void loadCategories() {

        categoryArrayList = new ArrayList<>();

        DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Categories");
        reference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot snapshot) {
                categoryArrayList.clear();

                for (DataSnapshot dataSnapshot : snapshot.getChildren()) {
                    ModelCategory model = dataSnapshot.getValue(ModelCategory.class);

                    categoryArrayList.add(model);

                }
                adapterCategory = new AdapterCategory(AdminDashboardActivity.this, categoryArrayList);
                binding.categoriesRv.setAdapter(adapterCategory);
            }

            @Override
            public void onCancelled(@NonNull DatabaseError error) {

            }
        });
    }
 

Категория модели Класс: весь код верен, но приложение раздавлено……

 public class ModelCategory {

 String id, category, uid;
 long timestamp;

    public ModelCategory(String id, String category, String uid, long timestamp) {
        this.id = id;
        this.category = category;
        this.uid = uid;
        this.timestamp = timestamp;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public long getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(long timestamp) {
        this.timestamp = timestamp;
    }
}
 

это ошибка logcat находится между звездами линге

 at com.google.firebase.database.DataSnapshot.getValue(DataSnapshot.java:203)
        at **com.mohmand.library.AdminDashboardActivity$3.onDataChange(AdminDashboardActivity.java:78)**
        at com.google.firebase.database.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:75)
        at com.google.firebase.database.core.view.DataEvent.fire(DataEvent.java:63)
        at com.google.firebase.database.core.view.EventRaiser$1.run(EventRaiser.java:55)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
 

Ответ №1:

Пожалуйста, добавьте пустой конструктор.

Подобный этому.

 public class ModelCategory {

 String id, category, uid;
 long timestamp;

    public ModelCategory(String id, String category, String uid, long timestamp) {
        this.id = id;
        this.category = category;
        this.uid = uid;
        this.timestamp = timestamp;
    }
     public ModelCategory() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public long getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(long timestamp) {
        this.timestamp = timestamp;
    }
}