新建APP页面及跳转

创建APP页面主要包含以下三个步骤:

  • 在 layout 目录下创建 XML 文件
  • 创建与 XML 文件对应的 Java 代码
  • 在 AndroidManifest.xml 中注册页面配置
  • 添加跳转动作

一、创建 layout 文件

在res -> layout 文件夹右键选择 New -> XML -> Layout XML File 即可新建 XML 文件, 指定文件名之后结果结果如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

</LinearLayout>

可以通过 android:orientation="vertical" 指定页面的排列顺序为‘垂直’; android:gravity="center" 指定居中属性。

添加基本 TextView 组件之后的 XML 内容如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:gravity="center">

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/text2"/>
</LinearLayout>

二、创建 Java 文件

在 java -> cn.smile.study 包路径下右键选择 New -> Java Class 即可创建 Java 文件。指定文件明之后结果如下:

package cn.smile.study;

/**
 * @author smile-jt
 */
public class StudyActivity {
}

创建 Java 文件之后添加继承关系 AppCompatActivity(androidx.appcompat.app.AppCompatActivity), androidx.appcompat.app.AppCompatActivity 可以替我们处理很多兼容性问题。然后重写 onCreate(Bundle savedInstanceState) 方法, 并且 调用 super.setContentView(R.layout.activity_study)方法。完整代码如下:

package cn.smile.study;

import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

/**
 * @author smile-jt
 */
public class StudyActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.setContentView(R.layout.activity_study);
    }
}

三、注册配置

打开 AndroidManifest.xml 文件。 在 application 节点, activity 节点之后添加一个新的 activity 节点。完整代码如下

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="cn.smile.study">

    <application
            android:allowBackup="true"
            android:dataExtractionRules="@xml/data_extraction_rules"
            android:fullBackupContent="@xml/backup_rules"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/Theme.Study"
            tools:targetApi="31">
        <activity
                android:name=".MainActivity"
                android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <activity android:name=".StudyActivity"/>
    </application>

</manifest>

四、添加跳转动作

由于 APP 打开默认显示 activity_main.xml 页面, 因此我们需要添加跳转动作, 此处使用按钮跳转。

1.修改 activity_main.xml

打开 activity_main.xml 文件, 添加 Button 组件, 完整的 activity_main.xml 如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center">

    <TextView
            android:id="@+id/tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"/>
    <Button
            android:id="@+id/toStudy"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/to_study"/>

</LinearLayout>

2.修改 MainActivity.java

打开 MainActivity.java 文件, 添加跳转事件, 完整代码如下:

package cn.smile.study;

import android.content.Intent;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

/**
 * @author smile-jt
 */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView textView = findViewById(R.id.tv);
        textView.setText("你好!");

        //点击事件
        Button toStudy = findViewById(R.id.toStudy);
        toStudy.setOnClickListener(v -> {
            Intent intent = new Intent();
            intent.setClass(MainActivity.this, StudyActivity.class);
            startActivity(intent);
        });
    }
}

五、快速创建 Activity 文件

以上步骤为基础的从零开始创建APP页面, 实际开发中可通过 IDEA 一键创建。选中 java -> cn.smile.study 鼠标右键, 选择 New -> Activity -> Enpty Activity, 然后指定文件名就能快速创建空白页面文件。