2025.5.23

学习内容​
Intent 基础:Intent 用于在 Android 组件(Activity、Service、Broadcast Receiver)之间进行通信。学习显式 Intent 和隐式 Intent 的使用,显式 Intent 用于明确指定目标组件,如启动另一个 Activity:
java
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
隐式 Intent 通过设置 action、category、data 等属性来匹配目标组件,例如:




在代码中使用隐式 Intent:
Intent intent = new Intent("com.example.action.SHOW_DATA");
startActivity(intent);
Bundle 传递数据:Bundle 用于在 Intent 中传递复杂数据类型,如 Serializable 或 Parcelable 对象。在发送数据的 Activity 中:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
Bundle bundle = new Bundle();
bundle.putString("name", "张三");
bundle.putInt("age", 25);
intent.putExtras(bundle);
startActivity(intent);
在接收数据的 Activity 中:
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
String name = bundle.getString("name");
int age = bundle.getInt("age");
}
Activity 返回结果:使用startActivityForResult方法启动 Activity 并获取返回结果。在启动 Activity 时:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, 1);
在返回结果的 Activity 中:
Intent intent = new Intent();
intent.putExtra("result", "操作成功");
setResult(RESULT_OK, intent);
finish();
在接收结果的 Activity 中重写onActivityResult方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK && data != null) {
String result = data.getStringExtra("result");
}
}
收获
掌握了 Intent 的两种使用方式和 Bundle 传递数据的方法,学会了 Activity 之间的结果返回机制。这些知识为实现 App 中不同界面之间的跳转和数据传递提供了重要手段,使 App 的交互更加灵活和丰富。

posted @ 2025-05-23 22:57  被迫敲代码  阅读(1)  评论(0)    收藏  举报