java - 我正在使用 web api 进行数据同步服务

标签 java android

我正在处理数据同步服务,我正在从网络服务器获取 json 响应。我的问题是如何将该响应传递给我从中调用该服务的 Activity 。

最佳答案

您可以使用 EventBus 并通过订阅事件将数据发送到所需的 Activity 。

例如:

compile 'org.greenrobot:eventbus:3.0.0'

事件总线类

public class DataSyn {
    public final List<YourModel> YourModel;

    public DataSyn(List<YourModel> YourModel) {
        this.YourModel = YourModel;
    }
}

从您的响应中发送数据:

   EventBus.getDefault().post(new DataSyn(yourdataList));

Subscribe and Receive the Data wherever you need:


 @Override
 public void onStart() {
 super.onStart();
   EventBus.getDefault().register(this);
 }

@Override
public void onStop() {
    EventBus.getDefault().unregister(this);
    super.onStop();
}

@Subscribe(threadMode = ThreadMode.MAIN)
public void onDataRecevied(DataSyn event) {
    if (event.YourModel != null) {
        populateData(event.YourModel);
    }
}

以上是最简单的数据共享方式

关于java - 我正在使用 web api 进行数据同步服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43410863/

相关文章:

android - 如何在 Flutter 的另一个小部件中嵌入 webview?

java - java中如何将一个对象映射到另一个对象

java - JDialog 模态和类扩展

android - 使用 RxJava 和 Android 的多个 API 调用

android - InstrumentationRegistry.getContext() 替换示例

android - 针对 Android 错误的 Meteor 地理定位包

android - 图片 URL 从一个 Activity 传递到另一个 Activity ,但未分配给变量

java - 我想在单击按钮时停止某个功能

参数化类的java单例

java - Eclipse + Java - SplashWindow