Как я могу позвонить в веб-службу только по определенному событию клика и получить ответ службы один раз? - PullRequest
0 голосов
/ 08 января 2019

В компонентах архитектуры 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. Предложите хороший подход.

Спасибо.

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