将数据从一个活动更新到另一个活动

时间:2015-08-18 14:39:28

标签: java android android-studio

我正在做一个使用telnet通信并每秒接收数据的Android应用程序(ActivityTelnet)。我想在另一个活动(Activity1)中解决其中一些数据。但是当我在Activity1中时,我不知道如何接收和更新数据,我甚至不知道是否可能。有谁能告诉我?

1 个答案:

答案 0 :(得分:0)

您需要某种总线来提供数据。

其中一个是LocalBroadcastManager。您可以从ActivityTelnet中的系统获取它的实例,并使用它与另一个Activity1中的BroadcastReceiver进行通信。

广播内容:

Intent intent = new Intent("someFilter");
intent.putExtra("itemName", someParcelable);
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);

您可以传递原始类型和对象,只要它们实现Parcelable接口即可。查看Parcelable以获取更多相关信息。

接收广播:

// declare your receiver
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // do something
    }
};
// add this to your #onCreate(Bundle) in Activity1
LocalBroadcastManager.getInstance(this).registerReceiver(mReceiver, new IntentFilter("someFilter"));

在创建Intent和注册Receiver时,请注意您正在使用的IntentFilter。他们必须匹配。

您也可以使用其他公共汽车,例如Square的Otto