今天就直接开始介绍 Activity 吧!
每一个应用程序一定都会有一个或是多个 Activity,像是我们前几天做的生日贺卡练习,里面就包含用来显示贺卡的 main activity。跟这次的骰子也是有 main activity 来显示骰之後的结果。
一个 Activity 至少有一个画面配置档( .xml )跟一个控制的程序档( .kt ),在画面配置档中加入 layout 与视窗元件,藉由程序档设定所要呈现的画面设定,并对各元件进行监听或控制,使元件与使用者互动起来。
有些比较复杂的 App 就会需要多个 Activity 来协作完成,例如下图:
一个相簿的 App 可能就会需要一个 GalleryActivity 来放置相片,一个 ViewerActivity 来浏览照片,跟一个编辑用的 EditorActivity,每个 Activity 都有它主要的功能。
我们要把按钮背後程序逻辑放进 Activity 里,先打开 MainActivity.kt(app > java > com.example.diceroller > MainActivity.kt),打开後你应该会看到下面这样:
package com.example.diceroller
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
?????这些是甚麽意思?????
我也不太清楚。但是先不需要全部了解程序的用意。
仔细一看发现,MainActicity 至少还有个熟悉的 Class 关键字, 然後发现,欸!?不是每个程序都要有 Main 函式?因为 Android 的工作方式比较不一样,第一次打开 App 时,系统会自动调用 MainActivity 的 onCreate( ) 方法,而不是 main( ) 。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
onCreate( ) 会从 import 去设置 MainActivity ,setContentView 会设置整个 Layout。
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
Android 提供了许多 class 框架,帮助你更轻松的编写 App ,利用 import 指定要使用的框架。像是 button class 是在 android.widget.Button 中。
开启自动导入来让你更方便的编写程序:
Activity 的介绍与 Import 的设定就先到这边,明天应该就是 Button 与程序关联起来,明明只是个 Button 却牵扯到这麽多东西。今天先 john 。
下一篇见写写打家打家摆掰。
<<: Day 21 - Shioaji Docker 环境介绍
上一回在研究 rom/programs/monitor.lua 的过程中 看到一些大写的变数 _G,...
本文将於赛後同步刊登於笔者部落格 有兴趣学习更多 Kubernetes/DevOps/Linux 相...
想看飞机又不想透过 FlightRadar24 !? 那就自己架一个接收站吧 ! 一、认识 ADS-...
-电子发现参考模型 证人(Witnesses )和证据(evidence)决定了司法结果。及时的电...
1. 双向绑定 v-model 小技巧:不会让使用者点选到第一个option 2.渲染 v-for、...