请开发一个Android App,该App需要包括两个或两个以上的Activity,Activity之间必须存在相互启动的关系。请充分利用显式和隐式两种类型的Intent进行Activity启动。
时间: 2024-03-20 16:43:52 浏览: 95
好的,我明白您的要求了。首先,我们需要为Android App创建两个或两个以上的Activity。我们可以创建一个主Activity和一个子Activity。
1. 创建主Activity
打开Android Studio,创建一个新项目。在创建新项目的过程中,我们需要为该项目选择一个适当的名称和包名。创建新项目后,我们可以创建一个名为MainActivity的Activity。
在MainActivity.java文件中,我们可以添加以下代码:
```
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnLaunchActivity = findViewById(R.id.btn_launch_activity);
btnLaunchActivity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SubActivity.class);
startActivity(intent);
}
});
}
}
```
在这段代码中,我们创建了一个名为btnLaunchActivity的Button,并在按钮上设置一个点击侦听器。当用户单击该按钮时,我们使用显式Intent启动名为SubActivity的子Activity。
2. 创建子Activity
我们需要为该应用程序创建另一个Activity,名为SubActivity。在该Activity中,我们可以添加以下代码:
```
public class SubActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);
}
}
```
在这段代码中,我们只是为SubActivity创建了一个布局,该布局将在该Activity启动时显示。
3. 创建布局文件
我们需要为MainActivity和SubActivity分别创建布局文件。在res/layout目录下,我们可以创建以下两个布局文件:
activity_main.xml:
```
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<Button
android:id="@+id/btn_launch_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Launch SubActivity" />
</LinearLayout>
```
activity_sub.xml:
```
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This is SubActivity" />
</LinearLayout>
```
4. 运行应用程序
现在,我们已经完成了主Activity和子Activity的创建。我们可以在模拟器或真实设备上运行该应用程序,以查看它们之间的交互。
当我们单击MainActivity中的“Launch SubActivity”按钮时,我们将进入SubActivity。此时,我们可以使用隐式Intent来返回到MainActivity。
在SubActivity.java文件中,我们可以添加以下代码:
```
public class SubActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);
Button btnReturnToMain = findViewById(R.id.btn_return_to_main);
btnReturnToMain.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
setResult(Activity.RESULT_OK, intent);
finish();
}
});
}
}
```
在这段代码中,我们创建了一个名为btnReturnToMain的Button,并在按钮上设置一个点击侦听器。当用户单击该按钮时,我们使用隐式Intent返回到MainActivity。
我们还需要在MainActivity.java文件中添加以下代码,以处理返回结果:
```
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if (resultCode == Activity.RESULT_OK) {
Toast.makeText(this, "Returned from SubActivity", Toast.LENGTH_SHORT).show();
}
}
}
```
在这段代码中,我们处理从SubActivity返回的结果,并显示一个Toast消息。
现在,我们已经成功创建了一个包括两个或两个以上Activity的Android App,并充分利用了显式和隐式两种类型的Intent进行Activity启动。
阅读全文