android Bundle的使用

127 篇文章 0 订阅

bundle的认识:

        一种存放字符串和Parcelable类型数据的map类型的容器类,通过存放数据键(key)获取对应的各种类型的值(value),而且必须通过键(key)获取。


bundle的用法:

       Bundle相当于Map类,就是一个映射,用Bundle绑定数据,便于数据处理

        它主要作用于Activity之间的数据传递. 

 

//TestBundle.java

Bundle bundle = new Bundle();//创建一个句柄

bundle.putString("name", nameinfo);//将nameinfo填充入句柄

Intent mIntent = new Intent(TestBundle.this,TestBundle_getvalue.class);

mIntent.putExtras(bundle);

startActivity(mIntent);

 

//TestBundle_getvalue.java

Bundle bundle = getIntent().getExtras();//获取一个句柄

String nameString=bundle.get("name");//通过key为“name”来获取value即 nameString.

/*

*进行相关操作

*/

 

bundle的实例:

      第一个Activity发出参数!

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.MotionEvent; 

public class TestBundle extends Activity { 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 


public boolean onTouchEvent(MotionEvent event) { 
Intent intent = new Intent(); 
intent.setClass(TestBundle.this, Target.class); 
Bundle mBundle = new Bundle(); 
mBundle.putString("Data", "hello, bear");//压入数据 
intent.putExtras(mBundle); 
startActivity(intent); 
finish(); 
return super.onTouchEvent(event); 



第二个Activity,接收参数

import android.app.Activity; 
import android.os.Bundle; 

public class Target extends Activity{ 

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
Bundle bundle = getIntent().getExtras(); 
String data=bundle.getString("Data");//读出数据 
setTitle(data); 

}


另外onCreate(Bundle savedInstanceState) 中的savedInstanceState用于当前activity被切换之前保存临时数据,以便在下次返回时显示之前的数据的。因此在想使用Bundle savedInstanceState保存临时数据,就应该在onCreate(Bundle savedInstanceState)方法中提前写好savedInstanceState!=null时的逻辑。参照理解:http://blog.sina.com.cn/s/blog_652dd96d0100ug6h.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值