• Android学习笔记 29. Activity组件


    Android学习笔记

    Android基础开发——Activity

    29. Activity组件

    29.1 认识Activity

    应用画面 → Activity

    Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。

    Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件

    在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。

    29.2 Activity的跳转

    创建新项目

    在这里插入图片描述

    在这里插入图片描述

    新建一个Activity

    在这里插入图片描述

    在这里插入图片描述

    添加一个按钮,设置点击事件为跳转到Activity2

    
    <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));
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    运行

    在这里插入图片描述

    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));
        }
    }
    
    • 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
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65

    默认启动

    在这里插入图片描述

    onResume():卡片渲染已经完成。

    此时回到桌面

    在这里插入图片描述

    从任务中再次打开

    在这里插入图片描述

    重新渲染。

    跳转到另一个Activity时,

    在这里插入图片描述

    在该界面中按返回键

    在这里插入图片描述

    销毁。

    onResume() / onPause():卡片可见和不可见。

  • 相关阅读:
    kubernetes1.24版本之后仍然使用docker作为运行时的部署方法
    Docker安装指南:跨平台安装Docker
    互联网上门预约洗衣洗鞋店小程序;
    基于stm32的胰岛素泵
    【AtomicLong】常规用法
    Megatron-LM GPT 源码分析(三) Pipeline Parallel分析
    超详细实战Docker+Jenkins部署生产环境前后分离项目
    【附源码】Python计算机毕业设计石家庄学院跳蚤市场
    python正则化表达式
    多模态论文阅读之VLMo
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/126259239