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中。

  • 相关阅读:
    Linux--echo输出内容到控制台
    Web前端基础(14):jQuery基础(一)
    Web前端基础(13):JavaScript(七)
    Web前端基础(12):JavaScript(六)
    Web前端基础(11):JavaScript(五)
    Web前端基础(10):JavaScript(四)
    Web前端基础(9):JavaScript(三)
    Web前端基础(8):JavaScript(二)
    Web前端基础(7):JavaScript(一)
    Web前端基础(6):CSS(三)
  • 原文地址:https://www.cnblogs.com/itgungnir/p/6554561.html
Copyright © 2011-2022 走看看