Это правильный способ использовать запросы в Firestore от Android Jetpack ViewModel? - PullRequest
0 голосов
/ 08 ноября 2019

Я разрабатываю приложение в Android Studio, используя "архитектуру компонентов навигации" в дополнение к использованию MVVM, для этого правильно ли делать запросы к Firestore во ViewModels фрагментов?

public class ProfileViewModel extends ViewModel {

    private MutableLiveData<String> name;
    private MutableLiveData<String> lastName;


    public ProfileViewModel() {
        name= new MutableLiveData<>();
        lastName= new MutableLiveData<>();

    }

    public void saveToFirestore(){
        FirebaseFirestore db  =FirebaseFirestore.getInstance();
        db.document( PATH )
                .set( OBJECT )
                .addOnSuccessListener(new OnSuccessListener<Void>() {
                    @Override
                    public void onSuccess(Void aVoid) {

                    }
                })
                .addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {

                    }
                });

    }

}

1 Ответ

0 голосов
/ 08 ноября 2019

Строго говоря, неправильно делать запросы к базе данных в ViewModel. ViewModel должен обратиться к объекту типа «хранилище» для фактического запроса к базе данных. ViewModel отвечает за преобразование объектов в нечто подходящее для взаимодействия с помощью View.

Возможно, вы захотите взглянуть на мой пример проекта, который использует MVVM с Firestore с использованием компонентов Jetpack. В него не включены примеры записи данных, но паттер утверждает, что ViewModel не знает деталей реализации хранилища данных.

https://github.com/CodingDoug/firebase-jetpack

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...