目录
- AndroidMainfest.xml
- MainActivity.kt
- activity_main.xml
\”Hello Word!\”能够显示运行,主要经历三个关键文件。
我们从总的AndroidMainfest.xml开始说。
AndroidMainfest.xml
源码截图如下:
提取主要代码:
<activity android:name=\".MainActivity\"><intent-filter><action android:name=\"android.intent.action.MAIN\" /><category android:name=\"android.intent.category.LAUNCHER\" /></intent-filter></activity>
这里是对
Mainctivity
注册,对应着
src/main/res/MainActivity.kt
文件。没有在这里注册的
Activity
是不能使用的,程序会认为你的
Activity
是“外来的非法文件“。
<action android:name=\"android.intent.action.MAIN\" />
以上代码表示
MainActivity
是主
Activity
<category android:name=\"android.intent.category.LAUNCHER\" />
以上代码表示程序启动时首先启动此页面
按图索骥,我们来看
MainActivity.kt
文件
MainActivity.kt
APP中,我们所能看到的,都在
Activity
编写。每一个
Activity
对应一个页面,就像一页网站。源码如下:
package com.example.hellowordimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleclass MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)}}
- 代码第6行:
MainActivity
继承自
AppComatActivity()
。这里所说的“继承”,顾名思义,就像“你继承了你爸爸的双眼皮”,我们写自己的
Activity
,可以继承
AppComatActivity
的全部功能。
-
Activity
是
Android
的一个基类,可以理解为“基础种类”,相对的,由它生成的类可称作“子类”。
-
AppComatActivity
是AndroidX中一种写好的与旧版本兼容的
Activity
。这可以让所支持系统中,app页面保持一致。
-
Override
“重写”是kotlin或java等一个很重要的概念。为什么要重写,简单讲:“你继承了一个人的全部特性”,而人与人之间又有不同,所以你要“重写”一些属性,来具体化“你是一个怎样的人”。
-
onCreate()
是一个
Activity
被创建时必写的执行函数。
回顾上一个教程,程序启动我们即可以看见“Hello Word!”,只有一个页面,只有一个
Activity
。
为什么启动的
MainActivity中没有发现有“Hello Word!”?
引入
Android
一个重要概念:程序设计讲究逻辑与视图分离。
MainActivity
负责逻辑,
activity_main
负责视图。
通俗讲解:
activity_main
只负责在这里安装灯泡,点亮与否由
MainActivity
负责。
super.onCreate(savedInstanceState
以上代码,
savedInstanceState
是保存当前
Activity
的状态,若手机资源不够关闭了这个页面,返回时会恢复状态,提升用户体验。
setContentView(R.layout.activity_main)
以上这句即是引入布局,按住Ctrl+鼠标单击
activity_main
,即可跳转到布局的
activity_main.xml
文件。
activity_main.xml
我们右上角将图片布局切换到中间的代码布局。
这样,我们可以清楚看到,一个
TextView
里写着
android:text=\"Hello World!\"
当然还有很多属性来约束其显示效果,以后详解。
至此,我们了解了“Hello Word”从
tivity_main.xml
–>
MainActivity.kt
–>
AndroidMainfest.xml
,一步步执行过来。
下一期讲解,构建app用到的原始素材,怎样存放在
res
文件夹中。
欢迎关注小试编程,点关注,不迷路。