除了可以用 Intent intent = getIntent();还能用什么传值
时间: 2024-02-01 09:15:58 浏览: 99
除了使用Intent传递参数外,还可以使用Bundle、SharedPreferences、静态变量等方式传递值。下面简单介绍一下这几种方式:
1. Bundle传递参数:Bundle是Android中提供的一个数据集合类,可以用来传递数据。在Activity中可以通过以下代码将数据放到Bundle中:
```
Bundle bundle = new Bundle();
bundle.putString("key", "value");
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtras(bundle);
startActivity(intent);
```
在TargetActivity中可以通过以下代码获取传递过来的数据:
```
Bundle bundle = getIntent().getExtras();
String value = bundle.getString("key");
```
2. SharedPreferences传递参数:SharedPreferences是Android中提供的一种轻量级的存储方式,可以用来存储应用程序的配置信息。在一个Activity中可以将需要传递的参数保存到SharedPreferences中,然后在另一个Activity中读取出来:
```
SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("key", "value");
editor.commit();
```
在TargetActivity中可以通过以下代码获取传递过来的数据:
```
SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
String value = sp.getString("key", "");
```
3. 静态变量传递参数:在一个Activity中定义一个静态变量,然后在另一个Activity中直接访问这个静态变量即可获取传递过来的参数:
```
public static String value = "default";
Intent intent = new Intent(this, TargetActivity.class);
value = "new value";
startActivity(intent);
```
在TargetActivity中可以直接访问MainActivity中定义的静态变量value:
```
String value = MainActivity.value;
```
阅读全文