初始状态的MainActivity.java与activity_main.xml

本文深入解析了Android项目启动过程中的关键文件MainActivity.java与activity_main.xml的作用。解释了MainActivity如何通过重写onCreate方法来初始化Activity,并与布局文件建立联系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在创建一个android项目时,打开文件会默认的创建两个文件,MainActivity.javaactivity_main.xml
  MainActivity.java代码如下:

package com.example.myapplication;
// 引用的包,引用android SDK的过程
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    // 此处重写了父类中的onCreate方法,用@override判断是否正确重写
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    	// savedInstanceState的作用是保存activity的状态,即用户通过home键或android意外回收进程时,保存此时用户的状态
        super.onCreate(savedInstanceState);
        // 与布局文件建立联系,
        setContentView(R.layout.activity_main);
    }
}
### 创建带有表单验证功能的 Android 活动页面 #### activity_main.xml 文件配置 为了创建一个包含账号、密码、性别、所在班级必填项以及提交按钮的界面,在 `activity_main.xml` 中定义如下布局: ```xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:padding="16dp" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 账号 --> <EditText android:id="@+id/et_account" android:hint="请输入账号" android:inputType="textPersonName" android:layout_width="match_parent" android:layout_height="wrap_content"/> <!-- 密码 --> <EditText android:id="@+id/et_password" android:hint="请输入密码" android:inputType="textPassword" android:layout_width="match_parent" android:layout_height="wrap_content"/> <!-- 性别 --> <RadioGroup android:id="@+id/radio_group_gender" android:layout_width="match_parent" android:layout_height="wrap_content"> <RadioButton android:id="@+id/rb_male" android:text="男"/> <RadioButton android:id="@+id/rb_female" android:text="女"/> </RadioGroup> <!-- 所在班级 --> <EditText android:id="@+id/et_classroom" android:hint="请输入所在班级" android:inputType="text" android:layout_width="match_parent" android:layout_height="wrap_content"/> <!-- 提交按钮 --> <Button android:id="@+id/btn_submit" android:text="提交" android:onClick="submitForm" android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout> ``` 此部分描述了 XML 布局文件的设计,用于构建用户交互界面[^1]。 #### MainActivity.java 实现逻辑处理 接下来是在 Java 类中实现相应的业务逻辑。继承 `Activity` 并重写其 `onCreate()` 方法来设置视图内容并初始化组件实例变量。同时编写响应事件的方法来进行数据校验和展示结果。 ```java package com.example.myapp; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private EditText etAccount, etPassword, etClassroom; private RadioGroup radioGender; private Button btnSubmit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化控件引用 etAccount = findViewById(R.id.et_account); etPassword = findViewById(R.id.et_password); radioGender = findViewById(R.id.radio_group_gender); etClassroom = findViewById(R.id.et_classroom); btnSubmit = findViewById(R.id.btn_submit); } public void submitForm(View view){ String account = etAccount.getText().toString(); String password = etPassword.getText().toString(); int selectedId = radioGender.getCheckedRadioButtonId(); RadioButton radioButton = findViewById(selectedId); String gender = (radioButton != null)? radioButton.getText().toString() : ""; String classroom = etClassroom.getText().toString(); StringBuilder messageBuilder = new StringBuilder(); boolean isValidated = true; if(account.isEmpty()){ messageBuilder.append("账号不能为空!\n"); isValidated = false; } if(password.isEmpty()){ messageBuilder.append("密码不能为空!\n"); isValidated = false; } if(gender.isEmpty()){ messageBuilder.append("请选择性别!\n"); isValidated = false; } if(classroom.isEmpty()){ messageBuilder.append("所在班级不能为空!"); isValidated = false; } if(isValidated){ Toast.makeText(this, "您输入的信息为:\n账号:" + account + "\n密码:" + password + "\n性别:" + gender + "\n所在班级:" + classroom, Toast.LENGTH_LONG).show(); }else{ Toast.makeText(this,messageBuilder.toString(),Toast.LENGTH_SHORT).show(); } } } ``` 上述代码展示了如何通过获取界面上各个编辑框内的文本值,并对其进行简单的非空判断以完成基本的数据有效性检验工作。如果所有字段都已正确填充,则会弹窗显示完整的用户输入信息;反之则给出具体的错误提示[^2]。 #### 注册 Activity 到清单文件 最后一步是确保新创建的 `MainActivity` 已经被正确定义于项目的 `AndroidManifest.xml` 文件之中,以便应用程序能够识别该活动作为启动入口点之一[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值