首页 > 其他分享 >第6天:Intent和页面导航-补充材料——`MainActivity.kt`解读

第6天:Intent和页面导航-补充材料——`MainActivity.kt`解读

时间:2024-10-22 12:19:21浏览次数:3  
标签:EditText button kt MainActivity Intent Activity message

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

package com.example.intentdemo
  • 定义包名:这行代码指定了当前Kotlin文件所属的包。在Android项目中,包名通常是由反向域名表示的,用于组织代码和防止命名冲突。
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import androidx.appcompat.app.AppCompatActivity
  • 导入所需类
    • Intent:用于在应用内部或其他应用之间传递数据和启动Activity。
    • Bundle:用于保存Activity的状态信息,可以在Activity重建时恢复状态。
    • ButtonEditText:Android UI组件,分别用于创建按钮和文本输入框。
    • AppCompatActivity:一个提供向后兼容功能的Activity类,允许使用支持库中的特性(例如Material Design组件)。
class MainActivity : AppCompatActivity() {
  • 定义MainActivity类:创建一个名为MainActivity的类,继承自AppCompatActivity,使得该Activity能够使用支持库提供的功能。
    private lateinit var editText: EditText
    private lateinit var button: Button
  • 声明变量
    • editText:一个EditText类型的变量,用于接收用户输入的文本。
    • button:一个Button类型的变量,用于触发事件(点击按钮时)。
    override fun onCreate(savedInstanceState: Bundle?) {
  • 重写onCreate方法onCreate是Activity生命周期中的一个重要方法,在Activity被创建时调用。在这里,我们可以进行初始化操作。
        super.onCreate(savedInstanceState)
  • 调用父类的onCreate方法:确保父类的初始化过程得以执行,这是调用Activity生命周期方法的标准做法。
        setContentView(R.layout.activity_main)
  • 设置布局:通过调用setContentView()方法将Activity的布局文件设置为activity_main.xml。此布局文件包含UI组件的定义。
        // 初始化EditText和Button
        editText = findViewById(R.id.et_message)
        button = findViewById(R.id.btn_send)
  • 查找UI组件
    • findViewById(R.id.et_message):查找布局中ID为et_messageEditText组件,并将其赋值给editText变量。
    • findViewById(R.id.btn_send):查找布局中ID为btn_sendButton组件,并将其赋值给button变量。
        // 设置按钮点击事件
        button.setOnClickListener {
  • 设置按钮的点击事件:通过setOnClickListener方法为button设置一个点击事件监听器。当按钮被点击时,以下代码块会被执行。
            val message = editText.text.toString()
  • 获取用户输入:获取editText中的文本内容,并转换为字符串,存储在message变量中。text属性返回一个Editable类型,所以需要调用toString()方法转换为普通字符串。
            val intent = Intent(this, SecondActivity::class.java)
  • 创建Intent对象:实例化一个Intent对象,表示从当前Activity(this)跳转到SecondActivity。这是通过传入当前上下文和目标Activity的类名来实现的。
            intent.putExtra("EXTRA_MESSAGE", message) // 传递数据
  • 传递数据:通过putExtra方法将用户输入的消息添加到Intent中,使用键"EXTRA_MESSAGE"来标识这一数据。这个数据将在目标Activity中使用。
            startActivity(intent) // 启动SecondActivity
  • 启动Activity:调用startActivity(intent)方法,使用刚刚创建的Intent启动SecondActivity。此时,SecondActivity会被创建并显示给用户。

总结来说,这段代码的功能是创建一个用户界面,允许用户输入消息,并通过点击按钮将该消息传递到另一个Activity中。这是Android开发中常见的组件间交互模式。

标签:EditText,button,kt,MainActivity,Intent,Activity,message
From: https://blog.csdn.net/weixin_41644568/article/details/142753983

相关文章

  • 自建家庭 KTV,在家想嗨就嗨
    现在用户最多、曲库最多的K歌软件是全民K歌,基本上想唱的歌都有,而且基本上每首歌都有MV或视频,使用体验也还不错,但是收费太贵了,对于一个月唱不了几次的打工人来说,唱一首歌就是“天价”。那是不是可以选择其他K歌软件呢?比如唱吧,曲库是真的有限,很多歌都没有,有些歌也不是原唱,大......
  • 如何在TikTok上脱颖而出?六个小技巧告诉你
    在TikTok(TK)这个充满创意与活力的短视频平台上,每个人都有机会成为下一个网红。但要想在众多创作者中脱颖而出,就需要掌握一些小技巧。以下是六点建议,帮助你提升TK账号的变现,让你的视频更受欢迎。一、手机与网络环境首先,确保你的手机性能良好,运行流畅,存储空间充足。一个卡顿的......
  • 电脑桌面自己变成了英文Desktop,怎么改回中文
    目录前言找到Desktop查看位置查找目标修改文件名为桌面重启电脑或重启Windows资源管理器Ctrl+Shift+Esc打开任务管理器找到Windows资源管理器重启Windows资源管理器查看修改结果前言许多人在使用电脑的时候发现,我们经常使用的桌面,不知道因为什么原因,原本......
  • [LeetCode] 1545. Find Kth Bit in Nth Binary String
    Giventwopositiveintegersnandk,thebinarystringSnisformedasfollows:S1="0"Si=Si-1+"1"+reverse(invert(Si-1))fori>1Where+denotestheconcatenationoperation,reverse(x)returnsthereversedstringx,an......
  • 读取Elekta(医科达)CBCT采集的HIS图像
    这篇文章是放射物理相关文章。1放射治疗中的两个重点在肿瘤的放射治疗中,我们最关心的两个问题中的第一个是剂量的计算准确性,另一个是照射位置的准确性。剂量的计算等我们以后说,我们先说说怎么保证照射位置的准确性。在放射治疗的历史发展中,为了确定照射位置的准确性,医生和......
  • 改变TikTok零播放情况的6个解决方法
     随着TikTok在全球市场兴起,越来越多的跨境卖家开始通过TikTok视频实现直播带货。不过,很多tiktok新手卖家起号初期都会遇 “Tiktok视频0播放”“Tiktok视频低播放”的问题,实在让人难受。如何突破tiktok视频0播放瓶颈?今天结合网上所有牛人经验与博主亲测给大家整理原因与对......
  • π TIKI派::TikTok公会邀约系统:你的主播管理利器!
    嘿,大家好,今天我要跟你们分享一个超级实用的工具——πTIKI派TikTok公会邀约系统!这个系统不仅可以让老板们一键分派主播,还能让员工随时随地通过手机轻松管理并认领主播,极大提高了工作效率,真是太方便了!......
  • 鸿蒙ArkTS中的资源管理详解
    在鸿蒙应用开发中,资源管理是一个非常重要的话题。ArkTS作为鸿蒙原生开发语言,提供了强大的资源管理功能。本文将深入探讨ArkTS中的资源管理,特别是$r语法的使用注意事项,以及其他实用的资源管理技巧。1.$r语法简介在ArkTS中,$r是一个用于引用资源的特殊语法。它允许开发者......
  • Nikto是一个开源的WEB扫描评估软件
    Nikto是一个开源的WEB扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出2600多种有潜在危险的文件、CGI及其他问题。Nikto使用Perl语言编写运行,Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的http模式等.Nikto是在Ka......
  • DDCDesktopDeliveryControl的安装
    DDCDesktopDeliveryControl的安装 ......