29. Activity组件
29.1 认识Activity
应用画面 → Activity
Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。
Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。
在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。
29.2 Activity的跳转
创建新项目
新建一个Activity
添加一个按钮,设置点击事件为跳转到Activity2
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我是第一个Activity!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="跳转到Activity2"
android:onClick="startActivity2"
/>
</LinearLayout>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.dingjiaxiong.myactivitytiaozhuan;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
//默认的activity
public class MainActivity extends AppCompatActivity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void startActivity2(View view) {
startActivity(new Intent(this,MainActivity2.class));
}
}
运行
29.3 Activity生命周期
代码体验
package com.dingjiaxiong.myactivitytiaozhuan;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
//默认的activity
public class MainActivity extends AppCompatActivity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e("dingjiaxiong", "onCreate: ");
}
@Override
protected void onRestart() {
super.onRestart();
Log.e("dingjiaxiong", "onRestart: ");
}
@Override
protected void onStart() {
super.onStart();
Log.e("dingjiaxiong", "onStart: " );
}
@Override
protected void onResume() {
super.onResume();
Log.e("dingjiaxiong", "onResume: " );
}
@Override
protected void onPause() {
super.onPause();
Log.e("dingjiaxiong", "onPause: " );
}
@Override
protected void onStop() {
super.onStop();
Log.e("dingjiaxiong", "onStop: " );
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.e("dingjiaxiong", "onDestroy: " );
}
public void startActivity2(View view) {
startActivity(new Intent(this,MainActivity2.class));
}
}
默认启动
onResume():卡片渲染已经完成。
此时回到桌面
从任务中再次打开
重新渲染。
跳转到另一个Activity时,
在该界面中按返回键
销毁。
onResume() / onPause():卡片可见和不可见。
标签:layout,dingjiaxiong,void,29,Activity,组件,import,android From: https://www.cnblogs.com/55zjc/p/16706501.html