ad

通过《基于Kotlin的Android应用程序开发》_与成功更近一步_3.1.3 定义新窗体

admin 177 2023-10-25

【摘要】 本书摘自《基于Kotlin的Android应用程序开发》一书中第3章,第1节,由薛岗编著。

3.1.3 定义新窗体

通过《基于Kotlin的Android应用程序开发》_与成功更近一步_3.1.3 定义新窗体

在 Android Studio系 统 菜 单 “File” 中 选 择 “New” ( 新 建 ) 项 , 然 后 选 择 “Activity” 项 , 再

单 击 "Empty Activity"。开发环境进入新建窗体向导。在向导中,设置 Activity 名 字(Activity Name)

为 InfoActivity, 布局文件名称会自动变更,结束窗体新建向导(注意确保向导中"Source Language"

项 的 值 为 Kotlin)。

InfoActivity 的 布 局 文 件 为 activity info.xml。 默 认 情 况 下 ,activity info.xml 只 包 含 XML 文 档 声 明 和 一 个XML 根 标 签 ( 该 标 签 名 为 android.support.constraint.ConstraintLayout)。 在 根 标 签 内 部

增 加 一 个TextView 组 件 , 设 置 组 件 大 小 和 唯 一 标 识 ( 标 识 为 info), 相 关 程 序 如 下 :

1

android:layout width="match parent"

android:layout height="match parent"/>

在开发环境中,单击查看主配置文件 AndroidManifest.xml。 文 件 包 含 以 下 内 容 :

1

version="1.0"encoding="utf-8"?>

xmlns:android="http://schemas.android.com/apk/res/android"

package="com.myappdemos.devices">

android:allowBackup="true"

android:icon="Cmipmap/ic launcher"

android:label="@string/app name"

android:roundIcon="Cmipmap/ic launcher round"

android:supportsRtl="true"

android:theme="@style/AppTheme">

11 12 13 14

15

16

17

18

19

与3.1.1节中的配置文件相比,程序第17行为新增内容,该行程序是InfoActivity 组件的一个 记录项。 Andorid 应用中,每个被使用的 Activity 组件都会在 AndroidManifest.xml 中被记录。程 序实现中,Android Studio会自动完成配置文件相关的维护和记录工作。

当前项目中已定义了两个窗体,分别为: MainActivity和 InfoActivity。应用程序开始运行时, 系统会启动和显示 MainActivity 对象。为了能够启动并显示 InfoActivity对象,可在 MainActivity 类的listDevices方法中增加相应的程序代码。

Android 应用程序中,不同 Activity 对象之间基于Intent 对象进行通信(或消息传递),与通 信相关的消息需要被封装在Intent对象中;另外,Intent对象可用于启动并显示一个 Activity 对象。 基于Intent,MainActivity类的 listDevices方法可实现为:

1 fun listDevices(view: View){

val intent Intent(this, InfoActivity::class.java)

startActivity(intent)

上述程序中,第2行声明一个Intent实例。Intent初始化需要两个参数:①Context实例;② Activity对象。其中,参数①用于说明当前发送 Intent对象的技术环境;参数②用于指定 Intent对 象的接收者。程序第2行中,第1个参数this指代 MainActivity 对象,也就是 Intent对象的发送 方,第2个参数Intent对象的接收者,记为 InfoActivity::class.java。第3行程序用于发送 Intent对 象,该语句执行时会启动 Intent 对象的接收者。startActivity 方法是 Activity 类的一个成员函数, 该方法可以基于Intent对象启动一个新的 Activity类对象。

编译运行程序,Devices(版本2)运行效果如图3.3所示。当在MainActivity实例中单击“SHOW DEVICES” 按钮, InfoActivity实例会启动并显示。现阶段,程序运行的基本过程为:程序启动, MainActivity 类被初始化并显示;界面中的下 拉列表会根据用户的操作而更新界面显示;当用户单击界面中的按钮时,程序初始化一个 Intent 对象,并发送给运行环境(即 Android 平台);运行环境根据 Intent 对象中的信息初始化并启动 InfoActiviy。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:通过《基于Kotlin的Android应用程序开发》_与成功更近一步_1.2 方法与Lambda 表达式
下一篇:通过《基于Kotlin的Android应用程序开发》_与成功更近一步_2.2.2 程序的运行与修改
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×