29. Activity组件

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():卡片可见和不可见。

posted @ 2022-09-19 08:17  随遇而安==  阅读(49)  评论(0编辑  收藏  举报