Android的Activity学习笔记
简介
在Android系统中,Activity是Android应用程序的核心组成部分之一,它可以提供用户界面,与用户进行交互,并协调应用程序的其他部分来完成任务。
本文将介绍Activity的基础知识,包括什么是Activity、Activity的生命周期、如何创建和销毁Activity、如何使用Intent启动Activity等。
什么是Activity
Activity 是 Android 应用程序的基础组件,它代表应用程序中的一个单独的屏幕界面,它负责绘制界面和处理与用户的交互。
每个 Activity 都会被封装在一个独立的进程中,并且可以独立启动和销毁。
Activity的生命周期
在 Android 系统中,每个 Activity 都有其特定的生命周期,它由一系列回调函数组成,Android 负责调用这些函数。Activity 的生命周期包括以下事件:
- onCreate()
- onStart()
- onResume()
- onPause()
- onStop()
- onRestart()
- onDestroy()
在下面的示例中,我们将演示如何在 Activity 生命周期的每个阶段记录日志。
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i(TAG, "onCreate() called");
}
@Override
protected void onStart() {
super.onStart();
Log.i(TAG, "onStart() called");
}
@Override
protected void onResume() {
super.onResume();
Log.i(TAG, "onResume() called");
}
@Override
protected void onPause() {
super.onPause();
Log.i(TAG, "onPause() called");
}
@Override
protected void onStop() {
super.onStop();
Log.i(TAG, "onStop() called");
}
@Override
protected void onRestart() {
super.onRestart();
Log.i(TAG, "onRestart() called");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.i(TAG, "onDestroy() called");
}
}
我们可以看到,MainActivity 的每个生命周期方法都被覆盖,并使用 Log.i() 方法记录在日志中。
创建和销毁Activity
要创建一个新的 Activity,我们可以使用 Intent 发送启动命令。在发送启动命令时,我们可以使用 startActivity() 或 startActivityForResult() 方法,具体取决于我们是否需要从新的 Activity 中接收结果。
下面是一个例子,演示如何启动另一个 Activity。
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_CODE = 1;
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.btn_start_activity);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
Log.i(TAG, "Result: " + result);
}
}
}
在上面的例子中,我们创建了一个按钮,并在按钮点击事件中启动另一个 Activity(SecondActivity)。我们使用 startActivityForResult() 方法启动 SecondActivity,并指定一个 REQUEST_CODE 值,以便在 Activity 返回结果时能够识别它。
在 SecondActivity 中,我们可以通过调用 setResult() 方法设置返回数据,并在 Activity 结束时返回结果。
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Button button = findViewById(R.id.btn_return_result);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("result", "Hello, World!");
setResult(RESULT_OK, intent);
finish();
}
});
}
}
在上面的例子中,我们在点击按钮事件中设置结果,并使用 finish() 方法关闭当前 Activity。
总结
在本文中,我们介绍了 Activity 的基础知识,包括什么是 Activity、Activity 的生命周期、如何创建和销毁 Activity、如何使用 Intent 启动 Activity。Android 应用程序的开发人员需要深入了解 Activity 的生命周期,以便在开发应用程序时能够正确处理各种场景。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android的activity学习笔记 - Python技术站