Android编程四大组件之Activity用法实例分析
在Android编程中,Activity是四大组件之一,即应用程序运行时的一个界面。本篇文章将介绍Activity的用法,并通过实例进行展示。
一、Activity的生命周期
在编写Android程序时,需要理解Activity的生命周期,根据不同的生命周期方法实现对应的逻辑。
具体的Activity生命周期包含以下回调方法:
- onCreate(): Activity被创建时调用,通常在这个方法中加载布局资源。
- onStart(): Activity正在变得可见时调用。
- onResume(): Activity正在前台运行时调用,用户可以与Activity交互。
- onPause(): Activity失去前台焦点时调用,但仍在屏幕上可见。在用户离开当前Activity触发时调用。
- onStop(): Activity变得不可见时调用。
- onDestroy(): Activity被销毁时调用。
理解Activity的生命周期对于编写高质量的Android程序至关重要,能够帮助程序更好地管理资源、避免内存泄漏等问题。
二、创建新的Activity
在Android中,创建新的Activity需要在AndroidManifest.xml中注册,注册后方可通过Intent启动。
下面是一个创建新的Activity的示例代码:
public class NewActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new);
TextView textView = findViewById(R.id.text_view);
String message = getIntent().getStringExtra("message");
textView.setText(message);
}
}
在示例中,创建了一个名为NewActivity的Activity,并在onCreate()方法中加载了布局文件activity_new.xml,并获取了Intent中的"message"参数并显示在TextView中。
在Activity A中启动NewActivity的示例代码:
Intent intent = new Intent(ActivityA.this, NewActivity.class);
intent.putExtra("message", "Hello, New Activity!");
startActivity(intent);
上述代码将会启动NewActivity,并将"Hello, New Activity!"字符串传递给它。
三、Activity的通信
在Android编程中,Activity之间通信需要使用Intent实现。可以通过在Intent中添加数据(如Intent.putExtra()方法)或者设置回调来实现Activity之间的数据共享和通信。
下面是一个Activity之间通信的示例代码:
在Activity A中:
Intent intent = new Intent(ActivityA.this, ActivityB.class);
intent.putExtra("message", "Hello, Activity B!");
startActivityForResult(intent, 100);
在Activity B中:
// 处理传递过来的数据
String message = getIntent().getStringExtra("message");
TextView textView = findViewById(R.id.text_view);
textView.setText(message);
// 点击按钮返回结果给Activity A
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("result", "Hello, Activity A!");
setResult(RESULT_OK, intent);
finish();
}
});
在Activity A中,启动Activity B并传递消息,同时通过startActivityForResult()方法启动Activity B。在Activity B中,将接收到的消息显示在TextView中,并返回结果给Activity A。
在Activity A中重写onActivityResult()方法处理Activity B返回的结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 100 && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
TextView textView = findViewById(R.id.text_view);
textView.setText(result);
}
}
上述代码将Activity B中返回的结果显示在Activity A中的TextView中。
通过上述示例代码,可以学习到Activity的用法,并掌握Activity之间的通信方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android编程四大组件之Activity用法实例分析 - Python技术站