Home Article Practice 构建第一个ArkTS应用(Stage模型)1

构建第一个ArkTS应用(Stage模型)1

2024-11-17 12:53  views:30  source:许某    

创建ArkTS工程
若首次打开DevEco Studio,请点击Create Project创建工程。
如果已经打开了一个工程,请在菜单栏选择File > New > Create Project来创建一个新工程。
选择Application应用开发(本文以应用开发为例,Atomic Service对应为元服务开发),
选择模板“Empty Ability”,点击Next进行下一步配置。
若开发者需要进行Native相关工程的开发,请选择“Native C++”模板,
更多模板的使用和说明请见工程模板介绍。
进入配置工程界面,Compatible SDK选择“5.0.0(12)”,其他参数保持默认设置即可。
点击Finish,工具会自动生成示例代码和相关资源,等待工程创建完成。
ArkTS工程目录结构(Stage模型)
AppScope > app.json5:应用的全局配置信息,详见app.json5配置文件。
entry:HarmonyOS工程模块,编译构建生成一个HAP包。
src > main > ets:用于存放ArkTS源码。
src > main > ets > entryability:应用/服务的入口。
src > main > ets > entrybackupability:应用提供扩展的备份恢复能力。
src > main > ets > pages:应用/服务包含的页面。
src > main > resources:用于存放应用/服务所用到的资源文件
,如图形、多媒体、字符串、布局文件等。关于资源文件,详见资源分类与访问。
src > main > module.json5:模块配置文件。主要包含HAP包的配置信息、
应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息。
具体的配置文件说明,详见module.json5配置文件。
build-profile.json5:当前的模块信息 、编译信息配置项,
包括buildOption、targets配置等。
hvigorfile.ts:模块级编译构建任务脚本。
obfuscation-rules.txt:混淆规则文件。
混淆开启后,在使用Release模式进行编译时,
会对代码进行编译、混淆及压缩处理,保护代码资产。详见开启代码混淆。
oh-package.json5:用来描述包名、版本、入口文件(类型声明文件)和依赖项等信息。
oh_modules:用于存放三方库依赖信息。
build-profile.json5:工程级配置信息,
包括签名signingConfigs、产品配置products等。
其中products中可配置当前运行环境,默认为HarmonyOS。
hvigorfile.ts:工程级编译构建任务脚本。
oh-package.json5:主要用来描述全局配置,
如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)
和参数化配置(parameterFile)等。
构建第一个页面
使用文本组件。
工程同步完成后,在“Project”窗口,
点击“entry > src > main > ets > pages”,
打开“Index.ets”文件,进行页面的编写。
针对本文中使用文本/按钮来实现页面跳转/返回的应用场景,
页面均使用Row和Column组件来组建布局。对于更多复杂元素对齐的场景,
可选择使用RelativeContainer组件进行布局。
“Index.ets”文件的示例如下:
// Index.ets
@Entry
@Component
struct Index {
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
添加按钮。
在默认页面基础上,
我们添加一个Button组件,作为按钮响应用户点击,
从而实现跳转到另一个页面。“Index.ets”文件的示例如下:
// Index.ets
@Entry
@Component
struct Index {
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
// 添加按钮,以响应用户点击
Button() {
Text('Next')
.fontSize(30)
.fontWeight(FontWeight.Bold)
}
.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.width('40%')
.height('5%')
}
.width('100%')
}
.height('100%')
}
}
在编辑窗口右上角的侧边工具栏,点击Previewer,打开预览器。第一个页面效果如下图所示



Disclaimer: The above articles are added by users themselves and are only for typing and communication purposes. They do not represent the views of this website, and this website does not assume any legal responsibility. This statement is hereby made! If there is any infringement of your rights, please contact us promptly to delete it.

字符:    改为:
去打字就可以设置个性皮肤啦!(O ^ ~ ^ O)