Court-Counter 项目教程
1. 项目的目录结构及介绍
Court-Counter 项目的目录结构如下:
Court-Counter/
├── app/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── courtcounter/
│ │ │ │ ├── MainActivity.java
│ │ │ │ └── ...
│ │ │ ├── res/
│ │ │ │ ├── layout/
│ │ │ │ │ ├── activity_main.xml
│ │ │ │ │ └── ...
│ │ │ │ ├── values/
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── ...
│ │ │ │ └── ...
│ │ │ └── AndroidManifest.xml
│ │ └── ...
│ ├── build.gradle
│ └── ...
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── .gitignore
├── LICENSE
├── README.md
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── ...
目录结构介绍
app/
: 包含应用程序的主要代码和资源文件。src/
: 源代码目录。main/
: 主代码目录。java/
: Java 源代码目录。com/example/courtcounter/
: 应用程序的主要包。MainActivity.java
: 主活动文件。
res/
: 资源文件目录。layout/
: 布局文件目录。activity_main.xml
: 主活动布局文件。
values/
: 值文件目录。strings.xml
: 字符串资源文件。
AndroidManifest.xml
: 应用程序的清单文件。
build.gradle
: 应用程序的构建脚本。
gradle/
: Gradle 包装器目录。wrapper/
: Gradle 包装器文件。gradle-wrapper.jar
: Gradle 包装器 JAR 文件。gradle-wrapper.properties
: Gradle 包装器属性文件。
.gitignore
: Git 忽略文件。LICENSE
: 项目许可证文件。README.md
: 项目说明文件。build.gradle
: 根项目的构建脚本。gradle.properties
: Gradle 属性文件。gradlew
: Gradle 包装器脚本。gradlew.bat
: Gradle 包装器批处理文件。settings.gradle
: 项目设置文件。
2. 项目的启动文件介绍
项目的启动文件是 MainActivity.java
,位于 app/src/main/java/com/example/courtcounter/
目录下。这个文件是应用程序的主活动,负责处理用户界面和交互逻辑。
package com.example.courtcounter;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
int scoreTeamA = 0;
int scoreTeamB = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void addThreeForTeamA(View v) {
scoreTeamA = scoreTeamA + 3;
displayForTeamA(scoreTeamA);
}
public void addTwoForTeamA(View v) {
scoreTeamA = scoreTeamA + 2;
displayForTeamA(scoreTeamA);
}
public void addOneForTeamA(View v) {
scoreTeamA = scoreTeamA + 1;
displayForTeamA(scoreTeamA);
}
public void addThreeForTeamB(View v) {
scoreTeamB = scoreTeamB + 3