一、从上往下(传递值)

使用Intent。

1. 单个基本类型数据,使用putExtra()方法。例如:

```java

Intent intent = new Intent(ActivityA.this, ActivityB.class);

intent.putExtra("key", value);

startActivity(intent);

```

2. 多个基本类型数据,可以逐个使用putExtra(),但更好的方法是使用Bundle。例如:

```java

Intent intent = new Intent(ActivityA.this, ActivityB.class);

Bundle bundle = new Bundle();

bundle.putInt("key1", value1);

bundle.putInt("key2", value2);

intent.putExtras(bundle);

startActivity(intent);

```

最后需要调用:`intent.putExtras(bundle);`。需要使用`getIntent().getExtras()`获取Bundle,再调用`Bundle.getInt()`获取里面的数据。例如:

```java

int value1 = getIntent().getExtras().getInt("key1");

int value2 = getIntent().getExtras().getInt("key2");

```

3. 传递对象,同样是使用Bundle。例如:

```java

Person person = new Person();

Intent intent = new Intent(ActivityA.this, ActivityB.class);

Bundle bundle = new Bundle();

bundle.putSerializable("person", person);

intent.putExtras(bundle);

startActivity(intent);

```使用`getIntent().getExtras()`获取Bundle,再调用`Bundle.getSerializable()`获取里面的数据。例如:

```java

Person person = (Person) getIntent().getExtras().getSerializable("person");

```