简单的 Android Kotlin 应用示例
下面是一个使用 Kotlin 在 Android Studio 中开发的简单计数器应用示例代码,包含逐行解释。
1. MainActivity.kt
// 导入必要的Android库
package com.example.simplecounter
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
// 定义MainActivity类,继承自AppCompatActivity
class MainActivity : AppCompatActivity() {
// 声明一个计数器变量,初始值为0
private var count = 0
// onCreate是Activity的生命周期方法,在Activity创建时调用
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) // 调用父类的onCreate方法
setContentView(R.layout.activity_main) // 设置布局文件
// 获取布局中的TextView和Button视图
val countTextView: TextView = findViewById(R.id.countTextView)
val incrementButton: Button = findViewById(R.id.incrementButton)
val resetButton: Button = findViewById(R.id.resetButton)
// 更新TextView显示当前计数
updateCountText(countTextView)
// 为增加按钮设置点击监听器
incrementButton.setOnClickListener {
count++ // 计数器加1
updateCountText(countTextView) // 更新显示
}
// 为重置按钮设置点击监听器
resetButton.setOnClickListener {
count = 0 // 重置计数器为0
updateCountText(countTextView) // 更新显示
}
}
// 辅助函数:更新TextView显示
private fun updateCountText(textView: TextView) {
textView.text = "Count: $count" // 设置TextView文本为当前计数
}
}
2. activity_main.xml (布局文件)
<!-- 定义根布局为垂直方向的LinearLayout -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" <!-- 宽度匹配父容器 -->
android:layout_height="match_parent" <!-- 高度匹配父容器 -->
android:orientation="vertical" <!-- 子视图垂直排列 -->
android:gravity="center" <!-- 内容居中 -->
android:padding="16dp" <!-- 内边距16dp -->
tools:context=".MainActivity"> <!-- 关联的Activity -->
<!-- 显示计数的TextView -->
<TextView
android:id="@+id/countTextView" <!-- 设置ID以便在代码中引用 -->
android:layout_width="wrap_content" <!-- 宽度包裹内容 -->
android:layout_height="wrap_content" <!-- 高度包裹内容 -->
android:textSize="24sp" <!-- 文本大小24sp -->
android:text="Count: 0" <!-- 初始文本 -->
android:layout_marginBottom="24dp"/> <!-- 底部外边距24dp -->
<!-- 增加计数的按钮 -->
<Button
android:id="@+id/incrementButton" <!-- 设置ID -->
android:layout_width="wrap_content" <!-- 宽度包裹内容 -->
android:layout_height="wrap_content" <!-- 高度包裹内容 -->
android:text="Increment" <!-- 按钮文本 -->
android:layout_marginBottom="16dp"/> <!-- 底部外边距16dp -->
<!-- 重置计数的按钮 -->
<Button
android:id="@+id/resetButton" <!-- 设置ID -->
android:layout_width="wrap_content" <!-- 宽度包裹内容 -->
android:layout_height="wrap_content" <!-- 高度包裹内容 -->
android:text="Reset" <!-- 按钮文本 --> />
</LinearLayout>
3. AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.simplecounter"> <!-- 应用包名 -->
<application
android:allowBackup="true" <!-- 允许应用备份 -->
android:icon="@mipmap/ic_launcher" <!-- 应用图标 -->
android:label="@string/app_name" <!-- 应用名称 -->
android:roundIcon="@mipmap/ic_launcher_round" <!-- 圆形图标 -->
android:supportsRtl="true" <!-- 支持从右到左布局 -->
android:theme="@style/AppTheme"> <!-- 应用主题 -->
<!-- 主Activity声明 -->
<activity android:name=".MainActivity">
<intent-filter>
<!-- 设置为启动Activity -->
<action android:name="android.intent.action.MAIN" />
<!-- 加入启动器类别 -->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
代码功能说明
这个简单的Android应用实现了以下功能:
- 显示一个计数器,初始值为0
- 点击"Increment"按钮,计数器增加1
- 点击"Reset"按钮,计数器重置为0
创建步骤
- 在Android Studio中创建新项目,选择"Empty Activity"模板
- 确保语言选择Kotlin
- 将上述代码复制到相应文件中
- 运行应用
扩展建议
如果想进一步学习,可以尝试以下扩展:
- 添加减少计数的按钮
- 保存计数状态,在旋转屏幕或退出应用后恢复
- 添加颜色变化,当计数达到特定值时改变文本颜色
- 添加动画效果
这个示例涵盖了Android开发的基本概念,包括:
- Activity生命周期
- 视图绑定
- 事件处理
- 布局XML
- 资源管理