Android开发中,Bundle是一个非常重要的类。它是一个键值对存储的容器,用于在不同组件间传递数据。Bundle对象存储的数据可包含各种类型的数据,如字符串、整型、布尔型、浮点型、数组等。它常用于Activity之间的传递数据,以及Fragment和Service之间的通信。 Bundle类位于android.os包下,它是一个final类,不能被继承。我们可以通过Bundle类提供的一系列方法来存储和获取数据。 Bundle的使用非常简单,下面是一个简单的例子: ```java // 创建Bundle对象并存储数据 Bundle bundle = new Bundle(); bundle.putString(\"name\", \"Tom\"); bundle.putInt(\"age\", 18); // 从Bundle对象中获取数据 String name = bundle.getString(\"name\"); int age = bundle.getInt(\"age\"); ``` 上述代码中,我们首先创建了一个Bundle对象,并使用putString和putInt方法存储了数据。然后通过getString和getInt方法从Bundle对象中获取数据。在获取数据时,需要指定存储时的键名。 除了存储基本数据类型外,Bundle还支持存储Parcelable和Serializable类型的对象。如果要存储自定义对象,需要让该对象实现Parcelable或Serializable接口。 Bundle类的另一个重要特性是它支持多级嵌套。也就是说,我们可以在Bundle对象中存储另一个Bundle对象。例如,我们可以这样来存储和获取一个Bundle对象: ```java // 创建两个Bundle对象 Bundle bundle1 = new Bundle(); bundle1.putString(\"name\", \"Tom\"); Bundle bundle2 = new Bundle(); bundle2.putInt(\"age\", 18); // 将bundle2存储到bundle1中 bundle1.putBundle(\"info\", bundle2); // 从bundle1中获取bundle2并获取数据 Bundle info = bundle1.getBundle(\"info\"); int age = info.getInt(\"age\"); ``` 上述代码中,我们首先创建了两个Bundle对象,分别存储不同的数据。然后将第二个Bundle对象存储到第一个Bundle对象中,并给它指定了一个键名。最后通过getBundle方法获取到存储的Bundle对象,并从中获取数据。 总之,Bundle类是Android开发中非常常用的一个类,它可以方便地实现不同组件间的数据传递。我们只需要使用它提供的一些简单的方法,就可以轻松地实现数据的存储和获取。 |