03-Android四大组件之Activity

961 阅读2分钟

整体demon代码地址

使用的工具

现在android项目使用的 android studio 来进行开发,开发的语言现在推荐的是 kotlin, 不过这里还是先使用 Java 来开发

  • AndroidStudio 版本: Android Studio Iguana | 2023.2.1
  • 项目语言: Java
  • JDK版本: 17
  • 对应的android版本:12

Activity

  • 活动是所有 Android 应用程序的门面,凡是在应用中你看得到的东西,都是放在活动中的
  • 项目中自定义的 Activity 一般都是要实现 Activity 接口的,不过在项目中也可以继承 AppCompatActivity 类,该类也是实现了 Activity 接口
  • 想要 Activity 生效则必须将 Activity 注册到 AndroidManifest.xml 文件中 下面基于 [[01-创建并运行第一个android项目]] 项目来创建第二个 Activity

创建Activity

然后选择 Empty View Activity, 点击 Next 来到如下界面

创建资源文件

选择 res/layout 目录 -> new -> Layout Resource File , 接下来就是创建资源文件名称和根布局

目前 Root element 可以填写 linearLayout, 至于布局的详细信息可以参考 [[06-Android开发中常用布局]] 项目中的 res/layout/activity_second.xml 文件的内容如下

 <?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent">  
    <!--  
        android:id="@+id/button_1" 表示给该控件添加了一个id  
        layout_width=match_parent 表示该button控件的宽度和父组件一致  
        layout_height=wrap_content 表示该button控件的高度是按照实际内容来的  
        android:text="ButtonOne" 是button中显示的内容  
    -->  
    <Button  
        android:id="@+id/button_1"  
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"  
        android:text="ButtonOne"/>  
</LinearLayout>

在Activity中加载对应的资源文件

前面已经创建了 SecondActivity,也创建了资源文件,接下来就是在 Activity中加载对应的资源文件了,修改了 SecondActivity 类代码如下

public class SecondActivity extends AppCompatActivity {  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_second);  
    }  
}

Activity跳转

目前我们的项目中已经有了两个 Activity 和 布局文件

  • MainActivity, 这个 Activity 是在 [[01-创建并运行第一个android项目]] 这篇文章中就创建了,这个 Activity 也是我们的主活动,对应的布局文件是 activity_main.xml,一打开ADemo 这个软件打开的就是这个布局内容
  • SecodActivity, 这个 Activity 是我们自己手动创建的, 对应的布局文件是 activity_second.xml 现在的问题是 SecondActivity 目前来看还是一个独立的 Activity,因为并没有入口可以跳转到这个 Activity,那么接下来的跳转功能想要实现的是在 MainActivity 中也有一个按钮,点击之后可以跳转到 SecondActivity, 然后点击 SecondActivity 中的按钮又可以回到 MainActivity 中,这个主要是通过 Intent 来实现的,具体参考 [[04-Android中的Intent]]

Activity生命周期

参考 Activity组件的生命周期 - 掘金 (juejin.cn)