我怎样才能仅在某些单击事件上调用网络服务并一次收到服务响应?

时间:2019-01-08 13:35:59

标签: android retrofit2 android-architecture-components android-livedata android-viewmodel

在android体系结构组件中,所有示例都调用Web服务并使用构造函数更新视图。 就我而言,我只需要在单击按钮或某些事件而不是在启动应用程序时调用Web服务。 假设考虑一个编辑用户个人资料的活动,它具有一些edittext和一个Submit按钮。 单击按钮后,已编辑的数据将发送到服务器,并以JSON格式检索服务器响应。服务器响应将显示一些成功/错误消息。

但是重要的是事件仅在单击按钮时发生,而不在构造函数中发生。

根据在线示例,需要通过onCreate方法观察livedata,但我的要求有所不同。

大多数教程都显示了这一点:

    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.如果我调用包含livedata观察器的onclickListner,会发生什么? 3.提出一个好的方法。

谢谢。

0 个答案:

没有答案