Android Bundle 数据传递与结果返回机制
在 Android 开发中,Activity 之间的数据传递是一个常见的需求。Bundle 提供了一种结构化的数据存储方式,能够方便地在 Activity 之间传递数据,并支持返回结果。
数据传递
使用 Bundle 传递数据,首先需要创建一个 Bundle 对象,并将需要传递的数据以键值对的形式存储到 Bundle 中。
Bundle bundle = new Bundle();
bundle.putString("key_name", "value");
然后,在启动目标 Activity 时,将 Bundle 对象作为参数传递给 startActivityForResult()
方法:
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtras(bundle);
startActivityForResult(intent, REQUEST_CODE);
在目标 Activity 中,可以通过 getIntent().getExtras()
方法获取到传递的 Bundle 对象,并从中读取数据:
Bundle bundle = getIntent().getExtras();
String value = bundle.getString("key_name");
结果返回
目标 Activity 可以通过 setResult()
方法将结果返回给启动它的 Activity。setResult()
方法接收两个参数:
- resultCode:结果码,用于标识操作结果,例如 Activity.RESULT_OK 表示操作成功。
- data:一个 Intent 对象,用于存储返回的数据。
Intent data = new Intent();
data.putExtra("result_key", "result_value");
setResult(Activity.RESULT_OK, data);
finish();
启动 Activity 可以通过重写 onActivityResult()
方法来接收目标 Activity 返回的结果。在 onActivityResult()
方法中,可以通过 resultCode
判断操作结果,并从 data
中读取返回的数据。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
String resultValue = data.getStringExtra("result_key");
// 处理返回结果
}
}
字符串大小写转换
字符串大小写转换并非 Bundle 数据传递与结果返回机制的一部分,可以通过 String.toUpperCase()
和 String.toLowerCase()
方法实现。
String originalString = "hello world";
String upperCaseString = originalString.toUpperCase(); // "HELLO WORLD"
String lowerCaseString = originalString.toLowerCase(); // "hello world"
170.66KB
文件大小:
评论区