在android studio中,1.创建2个Activity,分别为MainActivity和SecondActivity。 2.利用Intent的putExtra()方法传递数据。 利用Bundle类传递数据。
时间: 2024-03-10 13:48:08 浏览: 104
好的,下面是一个在 Android Studio 中实现的示例代码,演示了如何创建 MainActivity 和 SecondActivity,并且通过 Intent 和 Bundle 分别传递数据:
1. 通过 Intent 的 putExtra() 方法传递数据
在 Android Studio 中创建一个新项目,并且在 MainActivity 中添加以下代码:
```
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 在 MainActivity 中创建 Intent 对象,并且传递数据
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("name", "Tom");
intent.putExtra("age", 18);
startActivity(intent);
}
}
```
在上述代码中,我们创建了一个 Intent 对象,并且使用 putExtra() 方法传递了两个数据,分别为 "name" 和 "age"。然后我们使用 startActivity() 方法启动了 SecondActivity。
在 Android Studio 中创建一个新的 Activity,并且在 SecondActivity 中添加以下代码:
```
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
// 在 SecondActivity 中获取传递过来的数据
Intent intent = getIntent();
String name = intent.getStringExtra("name");
int age = intent.getIntExtra("age", 0); // 第二个参数为默认值,表示如果获取不到数据则返回 0
// 在 SecondActivity 中打印获取到的数据
Log.d("SecondActivity", "Name: " + name + ", Age: " + age);
}
}
```
在上述代码中,我们通过 getIntent() 方法获取传递过来的 Intent 对象,并且使用 getIntExtra() 和 getStringExtra() 方法获取具体的数据。然后我们使用 Log.d() 方法打印获取到的数据。
2. 利用 Bundle 类传递数据
在 MainActivity 中添加以下代码:
```
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 在 MainActivity 中创建 Bundle 对象,并且传递数据
Bundle bundle = new Bundle();
bundle.putString("name", "Tom");
bundle.putInt("age", 18);
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtras(bundle);
startActivity(intent);
}
}
```
在上述代码中,我们创建了一个 Bundle 对象,并且使用 put() 方法传递了两个数据,分别为 "name" 和 "age"。然后我们使用 putExtras() 方法将 Bundle 对象传递给 Intent 对象,最后使用 startActivity() 方法启动了 SecondActivity。
在 SecondActivity 中添加以下代码:
```
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
// 在 SecondActivity 中获取传递过来的数据
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String name = bundle.getString("name");
int age = bundle.getInt("age");
// 在 SecondActivity 中打印获取到的数据
Log.d("SecondActivity", "Name: " + name + ", Age: " + age);
}
}
```
在上述代码中,我们通过 getIntent() 方法获取传递过来的 Intent 对象,并且使用 getExtras() 方法获取 Bundle 对象,然后使用 getString() 和 getInt() 方法获取具体的数据。最后我们使用 Log.d() 方法打印获取到的数据。
以上就是通过 Intent 和 Bundle 在 Activity 之间传递数据的基本方法,在 Android Studio 中的实现步骤。需要注意的是,在传递数据的时候,传递的数据类型需要与接收数据的类型一致。希望能对你有所帮助!
阅读全文