Android Bundle 使用
来源:互联网 发布:python 开发平台有哪些 编辑:程序博客网 时间:2024/05/17 08:55
Bundle 对象: A mapping from String values to various Parcelable types
简单的说就是一个Map<String,Object>的封装类,可以从String类型的键中获得任意类型的对象。
public Bundle() {
mMap = new HashMap<String, Object>();
mClassLoader = getClass().getClassLoader();
}
Bundle封装了一些常用的方法,比如:
putInt(String key, int value)
putString(String key,String value)
.......................
getInt(String key)
getString(String key)
除了支持全部的基本类型,如byte、char、boolean、short、int、long、float、double等,还支持数组、List。
如:
String[] getStringArray(String key)
ArrayList<Integer> getIntegerArrayList(String key)
(省略Put方法)
如果自定义的类实现Serializable接口,同样可以将自定义的类put进去,并通过get获取。
Bundle可用于Intent中附加信息的传输,
Activity间的通讯是通过Intent类。比如有两个类A.class, B.class
由A启动新的activity B(单向),当B退出的时候A将不会接收到任何信息:
Intent i = new Intent(this,B.class);
startActivity(i);
由A启动新的actvity B(双向),当B退出的时候A的onActivityForResult方法将会被调用给定的requestCode。
A.class添加代码:
Java代码
Intent i = new Intent(this, B.class);
i.putExtra(key, value);
startActivityForResult(i, ACTIVITY_CODE);
B.class添加代码
Java代码
//这里获取A传过来的数据
Bundle extras = this.getIntent().getExtras();
//这里通过key的方式获取值
String value = extras.getString(key);
Java代码
//把值传回
A.class Bundle bundle = new Bundle();
bundle.putString(key,value);
Intent intent = new Intent();
intent.putExtras(bundle);
setResult(RESULT_OK, intent); finish();
Intent对象自己也实现了一些方法可以直接获取Extras中的值。
比如:
byte getByteExtra(String name, byte defaultValue)
int getIntExtra(String name, int defaultValue)
float getFloatExtra(String name, float defaultValue)
String getStringExtra(String name)
Bundle bundle=intent.getExtra()
bundle.getString(String key)
等效于
getStringExtra(String key)
简单的说就是一个Map<String,Object>的封装类,可以从String类型的键中获得任意类型的对象。
public Bundle() {
mMap = new HashMap<String, Object>();
mClassLoader = getClass().getClassLoader();
}
Bundle封装了一些常用的方法,比如:
putInt(String key, int value)
putString(String key,String value)
.......................
getInt(String key)
getString(String key)
除了支持全部的基本类型,如byte、char、boolean、short、int、long、float、double等,还支持数组、List。
如:
String[] getStringArray(String key)
ArrayList<Integer> getIntegerArrayList(String key)
(省略Put方法)
如果自定义的类实现Serializable接口,同样可以将自定义的类put进去,并通过get获取。
Bundle可用于Intent中附加信息的传输,
Activity间的通讯是通过Intent类。比如有两个类A.class, B.class
由A启动新的activity B(单向),当B退出的时候A将不会接收到任何信息:
Intent i = new Intent(this,B.class);
startActivity(i);
由A启动新的actvity B(双向),当B退出的时候A的onActivityForResult方法将会被调用给定的requestCode。
A.class添加代码:
Java代码
Intent i = new Intent(this, B.class);
i.putExtra(key, value);
startActivityForResult(i, ACTIVITY_CODE);
B.class添加代码
Java代码
//这里获取A传过来的数据
Bundle extras = this.getIntent().getExtras();
//这里通过key的方式获取值
String value = extras.getString(key);
Java代码
//把值传回
A.class Bundle bundle = new Bundle();
bundle.putString(key,value);
Intent intent = new Intent();
intent.putExtras(bundle);
setResult(RESULT_OK, intent); finish();
Intent对象自己也实现了一些方法可以直接获取Extras中的值。
比如:
byte getByteExtra(String name, byte defaultValue)
int getIntExtra(String name, int defaultValue)
float getFloatExtra(String name, float defaultValue)
String getStringExtra(String name)
Bundle bundle=intent.getExtra()
bundle.getString(String key)
等效于
getStringExtra(String key)
- Android Bundle 使用
- android bundle 使用注意
- Android中Bundle使用
- Android中Bundle使用
- android Bundle的使用
- Android Bundle类使用
- Android Bundle的简单使用
- Android开发--bundle的使用
- Android -- Bundle对象的使用
- android开发之Bundle使用
- Android中Bundle的使用
- Android 使用Bundle传递对象
- android中bundle的使用
- Android使用Bundle进行数据传递分析
- Android中的Bundle的具体使用
- Android中Bundle的使用示例
- Android使用Bundle进行数据传递分析
- android-关于Handler和Bundle的使用
- QTimer使用
- mfc中,在给定时间的情况下,取得毫秒级的时间差
- 请说出下面一段代码的输出结果
- C#基础知识整理:基础知识(4) 继承
- struts2 ongl 访问静态变量与访问枚举
- Android Bundle 使用
- java.lang.OutOfMemoryError: PermGen space
- 致新手—怎样才能学好SEO
- JOGL简介与安装
- 秒杀多线程第一篇 多线程笔试面试题汇总
- 触屏游戏党最爱:多功能超酷指环Ringbow
- Ubuntu下安装搭建KVM环境完整版
- IOS开发博客收集
- thinkphp3.0 模板中函数的使用