• ArkTS初始用体验


    一、ArkTS工程目录

            

            AppScore>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包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息;

                    build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等;

                    hvigorfile.ts:模块级编译构建任务脚本;

                    obfuscation-rules.txt:混淆规则文件;

                    oh-package.json5:用来描述包名、版本、入口文件和依赖项等信息;

            on-modules:用于存放三方库依赖信息;

            build-profile.json5:工程级配置信息,包括签名、产品配置等;

            hvigorfile.ts:工程级编译构建任务脚本;

            oh-package.json5:主要用来描述全局配置。

    二、简单使用

            1、初始页面

    1. @Entry
    2. @Component
    3. struct Index {
    4. @State message: string = 'Hello World';
    5. build() {
    6. RelativeContainer() {
    7. Text(this.message)
    8. .id('HelloWorld')
    9. .fontSize(50)
    10. .fontWeight(FontWeight.Bold)
    11. .alignRules({
    12. center: { anchor: '__container__', align: VerticalAlign.Center },
    13. middle: { anchor: '__container__', align: HorizontalAlign.Center }
    14. })
    15. .height('100%')
    16. .width('100%')
    17. }
    18. }

            

            2、添加按钮

    1. // Index.ets
    2. // 导入页面路由模块
    3. import { router } from '@kit.ArkUI';
    4. import { BusinessError } from '@kit.BasicServicesKit';
    5. @Entry
    6. @Component
    7. struct Index {
    8. @State message: string = 'Hello World'
    9. build() {
    10. Row() {
    11. Column() {
    12. Text(this.message)
    13. .fontSize(50)
    14. .fontWeight(FontWeight.Bold)
    15. // 添加按钮,以响应用户点击
    16. Button() {
    17. Text('下一步')
    18. .fontSize(30)
    19. .fontWeight(FontWeight.Bold)
    20. .fontColor('#FFFFFF')
    21. }
    22. .type(ButtonType.Capsule)
    23. .margin({
    24. top: 20
    25. })
    26. .backgroundColor('#0D9FFB')
    27. .width('40%')
    28. .height('5%')
    29. // 跳转按钮绑定onClick事件,点击时跳转到第二页
    30. .onClick(() => {
    31. console.info(`Succeeded in clicking the 'Next' button.`)
    32. // 跳转到第二页
    33. router.pushUrl({ url: 'pages/Second' }).then(() => {
    34. console.info('Succeeded in jumping to the second page.')
    35. }).catch((err: BusinessError) => {
    36. console.error(`Failed to jump to the second page. Code is ${err.code}, message is ${err.message}`)
    37. })
    38. })
    39. }
    40. .width('100%')
    41. }
    42. .height('100%')
    43. }
    44. }

            

            3、页面间跳转

            先新建一个同级页面---Second.ets,配置对应路由,并编写该页面内容 

            

    1. // 路由配置
    2. {
    3. "src": [
    4. "pages/Index",
    5. "pages/Second"
    6. ]
    7. }
    1. // Second.ets
    2. // 导入页面路由模块
    3. import { router } from '@kit.ArkUI';
    4. import { BusinessError } from '@kit.BasicServicesKit';
    5. @Entry
    6. @Component
    7. struct Second {
    8. @State message: string = 'Hi there'
    9. build() {
    10. Row() {
    11. Column() {
    12. Text(this.message)
    13. .fontSize(50)
    14. .fontWeight(FontWeight.Bold)
    15. Button() {
    16. Text('Back')
    17. .fontSize(25)
    18. .fontWeight(FontWeight.Bold)
    19. }
    20. .type(ButtonType.Capsule)
    21. .margin({
    22. top: 20
    23. })
    24. .backgroundColor('#0D9FFB')
    25. .width('40%')
    26. .height('5%')
    27. // 返回按钮绑定onClick事件,点击按钮时返回到第一页
    28. .onClick(() => {
    29. console.info(`Succeeded in clicking the 'Back' button.`)
    30. try {
    31. // 返回第一页
    32. router.back()
    33. console.info('Succeeded in returning to the first page.')
    34. } catch (err) {
    35. let code = (err as BusinessError).code;
    36. let message = (err as BusinessError).message;
    37. console.error(`Failed to return to the first page. Code is ${code}, message is ${message}`)
    38. }
    39. })
    40. }
    41. .width('100%')
    42. }
    43. .height('100%')
    44. }
    45. }

             

     

  • 相关阅读:
    数据结构与算法之二叉树、二叉搜索树、平衡二叉树、红黑树、B - 树、哈夫曼树等详细教程(更新中)
    C语言练习题——分支和循环
    2022/7/31
    C++11之智能指针
    嵌入式C语言中整形溢出问题分析
    分享5个解决msvcp140.dll丢失的方法,全面解析msvcp140.dll丢失的原因
    9.2 安卓逆向之—Frida持久化方案
    元素显示和背景调试
    Kylin V10 Server 下TongRDS独立哨兵服务配置手册
    【JVM技术专题】针对于Class字节码的文件分析和研究指南 「 进阶篇」
  • 原文地址:https://blog.csdn.net/sinat_34896766/article/details/140441059