NativeScript Android 项目教程
项目的目录结构及介绍
NativeScript Android 项目的目录结构如下:
android/
├── app
│ ├── App_Resources
│ │ ├── Android
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── res
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ ├── ...
│ │ ├── ...
│ ├── package.json
│ ├── tsconfig.json
│ ├── webpack.config.js
│ ├── ...
├── gradle
│ ├── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── ...
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
├── ...
目录结构介绍
app/
: 包含应用程序的主要代码和资源。App_Resources/
: 包含应用程序的资源文件,如图片、字符串等。Android/
: 包含 Android 特定的资源文件。src/main/
: 包含主要的源代码和资源。assets/
: 包含应用程序的静态资源文件。res/
: 包含应用程序的资源文件,如布局、样式等。AndroidManifest.xml
: Android 应用程序的配置文件。
package.json
: 项目的 npm 配置文件。tsconfig.json
: TypeScript 配置文件。webpack.config.js
: Webpack 配置文件。
gradle/
: 包含 Gradle 构建工具的文件。wrapper/
: 包含 Gradle 包装器的文件。gradle-wrapper.jar
: Gradle 包装器 JAR 文件。gradle-wrapper.properties
: Gradle 包装器属性文件。
gradle.properties
: Gradle 属性文件。gradlew
: Gradle 包装器脚本(Unix)。gradlew.bat
: Gradle 包装器脚本(Windows)。settings.gradle
: Gradle 设置文件。
项目的启动文件介绍
NativeScript Android 项目的启动文件是 main-page.ts
或 main-page.js
,位于 app/
目录下。这个文件是应用程序的入口点,负责初始化应用程序并加载主页面。
// main-page.ts
import { Application } from '@nativescript/core';
Application.run({ moduleName: 'app-root' });
启动文件介绍
Application.run({ moduleName: 'app-root' })
: 启动应用程序并加载app-root
模块。
项目的配置文件介绍
NativeScript Android 项目的主要配置文件包括 package.json
、tsconfig.json
、webpack.config.js
和 AndroidManifest.xml
。
package.json
package.json
文件是 npm 项目的配置文件,包含项目的依赖、脚本和其他元数据。
{
"name": "my-app",
"version": "1.0.0",
"main": "app/app.js",
"dependencies": {
"@nativescript/core": "~8.0.0"
},
"devDependencies": {
"@nativescript/webpack": "~5.0.0"
},
"scripts": {
"android": "ns run android"
}
}
tsconfig.json
tsconfig.json
文件是 TypeScript 项目的配置文件,包含 TypeScript 编译器的选项。
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noEmitHelpers": true,
"importHelpers": true,
"lib": ["es6", "dom"],
"baseUrl": ".",
"paths": {
"*": ["node_modules/*", "app/types/*"]
}
},
"include": ["