HanselAndGretel 开源项目使用教程
1. 项目的目录结构及介绍
HanselAndGretel/
├── README.md
├── build.gradle
├── settings.gradle
├── app/
│ ├── build.gradle
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── hanselandgretel/
│ │ │ │ ├── MainActivity.java
│ │ │ │ └── ...
│ │ │ └── res/
│ │ │ ├── layout/
│ │ │ │ └── activity_main.xml
│ │ │ └── ...
│ │ └── test/
│ │ └── ...
│ └── ...
└── ...
目录结构介绍
- README.md: 项目说明文件,包含项目的基本介绍和使用说明。
- build.gradle: 项目的根构建文件,包含项目级别的配置。
- settings.gradle: 项目的设置文件,包含项目模块的配置。
- app/: 应用模块目录。
- build.gradle: 应用模块的构建文件,包含模块级别的配置。
- src/: 源代码目录。
- main/: 主代码目录。
- java/: Java 源代码目录。
- com/example/hanselandgretel/: 项目的主要代码目录。
- MainActivity.java: 应用的主活动文件。
- com/example/hanselandgretel/: 项目的主要代码目录。
- res/: 资源文件目录。
- layout/: 布局文件目录。
- activity_main.xml: 主活动的布局文件。
- layout/: 布局文件目录。
- java/: Java 源代码目录。
- test/: 测试代码目录。
- main/: 主代码目录。
2. 项目的启动文件介绍
MainActivity.java
MainActivity.java
是项目的启动文件,负责初始化应用界面和处理用户交互。以下是该文件的基本结构:
package com.example.hanselandgretel;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
文件介绍
- package com.example.hanselandgretel: 定义了文件的包名。
- import android.app.Activity: 导入了
Activity
类。 - public class MainActivity extends Activity: 定义了
MainActivity
类,继承自Activity
。 - @Override protected void onCreate(Bundle savedInstanceState): 重写了
onCreate
方法,用于初始化活动。 - setContentView(R.layout.activity_main): 设置活动的内容视图为
activity_main.xml
。
3. 项目的配置文件介绍
build.gradle (项目级别)
// 项目级别的 build.gradle 文件
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.0'
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
文件介绍
- buildscript: 配置构建脚本。
- repositories: 配置依赖仓库。
- dependencies: 配置构建脚本的依赖。
- allprojects: 配置所有模块的仓库。
build.gradle (应用模块级别)
// 应用模块级别的 build.gradle 文件
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.example.hanselandgretel"
minSdkVersion 16
targetSdkVersion 30
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}