zoukankan      html  css  js  c++  java
  • 【Android

      Android四大组件中,Activity、Service和BroadcastReceiver都支持在Intent中传递Bundle数据。由于Bundle实现了Parcelable接口,所以它可以方便地在不同的进程中进行传输。当然,我们传输的数据必须能够被序列化,比如基本类型的数据、实现了Parcelable接口的对象、实现了Serializable接口的对象以及一些Android支持的特殊对象。

      接下来用一个实例来演示Android中使用Bundle实现IPC的功能。在这个例子中,我们使用Bundle从BundleIpcA这个Module中传递一段文字到BundleIpcB这个Module中,在BundleIpcB中接收字符串并显示到屏幕上。

      BundleIpcA的Activity中的代码如下:

    public class MainActivity extends AppCompatActivity {
        private Button button;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            button = (Button) findViewById(R.id.btn);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent();
                    Bundle bundle = new Bundle();
                    bundle.putString("data", "这是A发送的数据!!!");
                    ComponentName cn = new ComponentName("my.itgungnir.bundleipcb", "my.itgungnir.bundleipcb.MainActivity");
                    intent.setComponent(cn);
                    intent.putExtras(bundle);
                    startActivity(intent);
                }
            });
        }
    }

      BundleIpcB的Activity中的代码如下:

    public class MainActivity extends AppCompatActivity {
        private TextView result;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            result = (TextView) findViewById(R.id.result);
            Bundle bundle = getIntent().getExtras();
            if (bundle != null) {
                result.setText(bundle.getString("data"));
            }
        }
    }

      这样,点击A中的按钮时,就可以打开B Activity,并将传输的文字显示在B中。

  • 相关阅读:
    Java8的List过滤
    docker 部署zookeeper集群
    docker部署haproxy
    安装和配置jenkins
    webpack安装和简单配置
    javascript
    javascript-模板方法模式-提示框归一化插件
    javascript-组合模式
    javascript设计模式-工厂方法模式
    javascript函数的几种写法集合
  • 原文地址:https://www.cnblogs.com/itgungnir/p/6554561.html
Copyright © 2011-2022 走看看