第5天:视图和控件-补充材料——`MainActivity.kt`解读

下面是对“第5天:视图和控件”该文学习的更深层次的补充材料,对 MainActivity.kt 文件的理解。
下面对`MainActivity.kt’ 文件中每一行进行详细解释:

package com.example.simplecalculator
  • package:定义了这个文件的包名。包名通常用于组织代码文件,避免命名冲突。这里包名为com.example.simplecalculator
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
  • import:引入了所需的类和库。包括:
    • Bundle:用于存储Activity的状态信息。
    • ButtonEditTextTextView:Android中常用的UI控件。
    • AppCompatActivity:Android的基础Activity类,提供了向后兼容的特性。
class MainActivity : AppCompatActivity() {
  • class MainActivity:定义了一个名为MainActivity的类,继承自AppCompatActivity,这是Android应用的主要活动(UI界面)。
    private lateinit var etNum1: EditText
    private lateinit var etNum2: EditText
    private lateinit var btnCalculate: Button
    private lateinit var tvResult: TextView
  • lateinit var:声明了四个属性,使用lateinit表示这些属性将在稍后初始化。这些属性分别对应于输入的数字、计算按钮和显示结果的文本视图。
    override fun onCreate(savedInstanceState: Bundle?) {
  • override fun onCreate:重写onCreate方法,这是Activity的生命周期方法之一。在Activity创建时调用。
        super.onCreate(savedInstanceState)
  • super.onCreate:调用父类的onCreate方法,确保父类的初始化操作得以执行。
        setContentView(R.layout.activity_main)
  • setContentView:设置当前Activity的布局为activity_main.xml文件中定义的布局。
        // 初始化控件
        etNum1 = findViewById(R.id.et_num1)
        etNum2 = findViewById(R.id.et_num2)
        btnCalculate = findViewById(R.id.btn_calculate)
        tvResult = findViewById(R.id.tv_result)
  • findViewById:通过ID获取XML布局中的视图对象,并将其赋值给对应的变量。这样可以在代码中引用这些UI控件。
        // 设置点击事件
        btnCalculate.setOnClickListener {
            calculateSum()
        }
  • setOnClickListener:为btnCalculate按钮设置点击事件监听器。当按钮被点击时,调用calculateSum()方法进行计算。
    private fun calculateSum() {
  • private fun calculateSum:定义一个私有函数calculateSum,用于执行加法计算。
        // 获取用户输入
        val num1 = etNum1.text.toString().toIntOrNull() ?: 0
        val num2 = etNum2.text.toString().toIntOrNull() ?: 0
  • 获取用户输入
    • etNum1.text.toString():获取第一个输入框的文本并转换为字符串。
    • toIntOrNull():尝试将字符串转换为整数,如果转换失败则返回null
    • ?: 0:使用 Elvis 操作符,如果转换结果为null,则默认赋值为0
        val sum = num1 + num2
  • val sum:计算两个数字的和并将结果赋值给sum变量。
        // 显示结果
        tvResult.text = "结果:$sum"
  • 显示结果:将计算结果格式化为字符串并设置为tvResult文本视图的内容。
    }
}
  • 结束calculateSum方法和MainActivity类。

总结

这段代码展示了一个简单的Android计算器应用的核心逻辑,通过获取用户输入、进行计算并显示结果,基本涵盖了Kotlin和Android开发中UI操作的基本方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值