博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Bundle类
阅读量:5883 次
发布时间:2019-06-19

本文共 2448 字,大约阅读时间需要 8 分钟。

今天发现自己连Bundle类都没有搞清楚,于是花时间研究了一下。

依据google官方的文档()

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例如以下:

两个类例如以下: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

target.xml

String.xml

Hello World, TestBundle!
測试Bundle使用方法
点击跳转
来到target activity
结果:

跳转结果:

转载地址:http://wzpix.baihongyu.com/

你可能感兴趣的文章
ghost后只剩下一个盘的数据寻回方法
查看>>
输入输出练习
查看>>
Git commit message和工作流规范
查看>>
java面试。答案源于网上
查看>>
yii中取得CActiveDataProvider的分页信息
查看>>
我的大学
查看>>
Google翻译接口收费啦
查看>>
Debian+Apache2服务器
查看>>
linux——编译安装nginx出现报错,以及启动nginx服务时80端口被占用怎么解决?...
查看>>
MySQL库和表的操作
查看>>
shell编程:编译器、解释器 变量
查看>>
yum仓库一些简单介绍
查看>>
HashMap----工作原理
查看>>
Aliware(企业级互联网架构ACP)复习整理-EDAS
查看>>
java线程无法正常停止总结
查看>>
我的友情链接
查看>>
CentOS6.4+Apache+Mariadb+PHP搭建WordPress
查看>>
【代发】初识项目虚拟团队--作者Dylan Gao
查看>>
解决“HTTP/1.1 405 Method not allowed”问题,让静态文件响应POST请求
查看>>
支持IPV6的瑞士×××之nc命令------强大的网络命令工具
查看>>