В компонентах архитектуры Android во всех примерах вызывается веб-служба и обновляется представление с помощью конструктора.
В моем случае мне нужно вызывать веб-сервис только по нажатию кнопки или по какому-либо событию не при запуске приложения.
Допустим, рассмотрим действие, которое редактирует профиль пользователя, у него есть некоторый текст редактирования и одна кнопка отправки.
При нажатии на кнопку отредактированные данные отправляются на сервер и получают ответ сервера в формате JSON. Ответ сервера будет иметь сообщение об успехе / ошибке.
Но важным моментом является то, что событие происходит только при нажатии кнопки, а не в конструкторе.
Согласно онлайн-примерам необходимо наблюдать, что от метода onCreate liveata нужно следить, но мое требование отличается.
Большинство уроков показывают это:
public ProductViewModel(@NonNull Application application, DataRepository repository,
final int productId) {
super(application);
mProductId = productId;
mObservableComments = repository.loadComments(mProductId);
mObservableProduct = repository.loadProduct(mProductId);
}
1. Это хороший подход для прослушивания наблюдателя в onClickListner?
2. Что произойдет, если я вызову onclickListner, в котором содержится наблюдатель liveata?
3. Предложите хороший подход.
Спасибо.