java bundle类_Bundle类的作用
Bundle类是一个key-value对,“A mapping from String values to various Parcelable types.”
类继承关系:
Java.lang.Object
Android.os.Bundle
Bundle类是一个final类:
public final class
Bundle
extends Objectimplements Parcelable Cloneable
两个activity之间的通讯可以通过bundle类来实现,做法就是:
(1)新建一个bundle类
Bundle mBundle = new Bundle();
(2)bundle类中加入数据(key -value的形式,另一个activity里面取数据的时候,就要用到key,找出对应的value)
mBundle.putString("Data", "data from TestBundle");
(3)新建一个intent对象,并将该bundle加入这个intent对象
Intent intent = new Intent();
intent.setClass(TestBundle.this, Target.class);
intent.putExtras(mBundle);
完整代码如下:
android mainfest.xml如下:
package="com.tencent.test"
android:versionCode="1"
android:versionName="1.0">
android:label="@string/app_name">
两个类如下:intent从TestBundle类发起,到Target类。
类1:TestBundle类:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class TestBundle extends Activity {
private Button button1;
private OnClickListener cl;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1 = (Button) findViewById(R.id.button1);
cl = new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(TestBundle.this, Target.class);
Bundle mBundle = new Bundle();
mBundle.putString("Data", "data from TestBundle");//压入数据
intent.putExtras(mBundle);
startActivity(intent);
}
};
button1.setOnClickListener(cl);
}
}
类2: Target
import android.app.Activity;
import android.os.Bundle;
public class Target extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.target);
Bundle bundle = getIntent().getExtras(); //得到传过来的bundle
String data = bundle.getString("Data");//读出数据
setTitle(data);
}
}
布局文件:
main.xml
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button"
android:id = "@+id/button1"
/>
target.xml
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/target"
/>
String.xml
Hello World, TestBundle!
测试Bundle用法
点击跳转
来到target activity
结果:
跳转结果:
java bundle类_Bundle类的作用相关推荐
- java什么是适配器类?作用是什么?_软件设计模式之适配器模式(JAVA)
什么是适配器模式? 在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的.适配器能将因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存 ...
- java中math类的作用_Java开发知识之Java的数字处理类Math类
Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...
- Date类(java.util)和SimpleDateFormat类(java.text)
在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取当前时间,我们来看下 Date 类的使用: 使用 Date 类的默 ...
- Java双刃剑之Unsafe类详解
前一段时间在研究juc源码的时候,发现在很多工具类中都调用了一个Unsafe类中的方法,出于好奇就想要研究一下这个类到底有什么作用,于是先查阅了一些资料,一查不要紧,很多资料中对Unsafe的态度都是 ...
- Java中常用的类及其特点
Java中的内部类有四种(内部类作用1.封装装类型. 2.直接访问外部类成员. 3.回调.)内部类,方便他们的外部类调用,一般不会被其它类使用,比如事件监听器之类的,外部类刚好继承了一个别的类,如果你 ...
- Java常用实体类--System类
字符串.日期.数字是Java程序中最常使用的数据对象,对这些数据的创建.修改.格式化和转换等操作融入在Java程序的每个角落,必须熟练掌握.本节将通过实例演示以下常用实体类 Java系统级类:系统类S ...
- JAVA(四)类集/枚举
成鹏致远 | lcw.cnblog.com |2014-02-04 JAVA类集 1.认识类集 类集的作用 类集实际上就是一个动态的对象数组,与一般的对象数组不同,类集中的对象内容可以任意扩充 类集的 ...
- 还在对java类、类的加载一知半解?这篇文章相信会解决你80%的困惑
目录 什么是Class类 Class类的常用方法 获取Class类的实例 哪些类型可以有Class对象? 类加载内存分析 类加载的过程 类的加载与ClassLoader的理解 什么时候会发生类初始化? ...
- java中所有的类都继承于_Java中所有的类都是通过直接或间接地继承( )类得到的...
Java中所有的类都是通过直接或间接地继承( )类得到的 答:java.lang.Object 关于主机地址 192.168.19.125 (子网掩码: 255.255.255.248 ),以下说法正 ...
最新文章
- COJ 0995 WZJ的数据结构(负五)区间操作
- SharePoint KB
- Python中@staticmethod和@classmethod的作用和区别
- 装好了ubuntu,w2k却无法启动了,:(
- 唯一的hashCodes不足以避免冲突
- VS2010中的路径设置
- C++输入一个整数后接着输入字符串
- c++ 字符串相等比较
- JSK-23 计数和数数【数列】
- 小程序获取用户信息 php发送数据库,qq小程序如何获取用户信息并存入数据库实例...
- 基于cocos creator 3.4 实现虚拟摇杆
- JavaMail概述
- excel拆分单元格内容_Excel办公软件教程
- 【RDMA】使用‘无信号完成’(Working with Unsignaled completions)|IBV_SEND_SIGNALED
- 除了汽车,自动驾驶还将颠覆这33个行业……
- MySOL(狂殴26K字只为博君一赞)
- 如何通俗解释Docker是什么?
- 3*4的方格,有多少个长方形?
- macBook下将m4a转换成mp3
- python:假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?