Hướng dẫn tạo ứng dụng ArkTS đầu tiên

Khái niệm cơ bản

  • Từ HarmonyOS NEXT Developer Preview1 (API 11) trở đi, HarmonyOS SDK cung cấp khả năng mở rộng qua 6 lĩnh vực chính: Khung ứng dụng (Ability Kit (dịch vụ khung chương trình), ArkUI (khung UI Ark)), Hệ thống, Đồ họa, Dịch vụ ứng dụng, AI. Đối với phát triển di động, chúng ta cần nắm vững lĩnh vực khung ứng dụng, đặc biệt là ArkUI.
  • ArkUI là khung phát triển UI của HarmonyOS, cần thiết cho lập trình di động.
    • Sử dụng mô hình khai báo dựa trên ArkTS.
    • Dựa trên ngôn ngữ ArkTS.
    • Dựa trên mô hình ứng dụng Stage.

Cấu trúc dự án

Sơ đồ cấu trúc dự án

Giải thích:

AppScope > app.json5: Cấu hình toàn cục của ứng dụng, xem chi tiết tại app.json5.
entry: Module của HarmonyOS, biên dịch tạo ra gói HAP.
src > main > ets: Thư mục chứa mã nguồn ArkTS.
src > main > ets > entryability: Điểm vào của ứng dụng/dịch vụ.
src > main > ets > entrybackupability: Cung cấp khả năng sao lưu và phục hồi mở rộng.
src > main > ets > pages: Các trang của ứng dụng/dịch vụ.
src > main > resources: Lưu trữ tài nguyên như hình ảnh, đa phương tiện, chuỗi, tập tin bố cục. Xem thêm tại phân loại và truy cập tài nguyên.
src > main > module.json5: Cấu hình module, bao gồm thông tin gói HAP, cấu hình trên thiết bị cụ thể và cấu hình toàn cục. Xem thêm tại module.json5.
build-profile.json5: Cấu hình thông tin module hiện tại, biên dịch, bao gồm buildOption, targets, v.v.
hvigorfile.ts: Tập lệnh biên dịch và xây dựng ở cấp module.
obfuscation-rules.txt: Tập tin quy tắc làm rối mã. Khi bật, mã sẽ được biên dịch, làm rối và nén trong chế độ Release để bảo vệ tài sản mã nguồn. Xem thêm tại bật làm rối mã.
oh-package.json5: Mô tả tên gói, phiên bản, tệp đầu vào (tệp khai báo kiểu) và các phụ thuộc.
oh_modules: Lưu trữ thông tin phụ thuộc của thư viện bên thứ ba.
build-profile.json5: Cấu hình ở cấp dự án, bao gồm chữ ký signingConfigs, cấu hình sản phẩm products. Trong products, có thể cấu hình môi trường chạy hiện tại, mặc định là HarmonyOS.
hvigorfile.ts: Tập lệnh biên dịch và xây dựng ở cấp dự án.
oh-package.json5: Mô tả cấu hình toàn cục, như ghi đè phụ thuộc (overrides), ghi đè quan hệ phụ thuộc (overrideDependencyMap) và cấu hình tham số (parameterFile).

Tạo dự án

Mã trang mặc định + logic nút chuyển trang

import { router } from '@kit.ArkUI';

@Entry
@Component
struct Index {
  @State message: string = 'Xin chào Thế giới';

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold);
        Button("Chuyển sang trang thứ hai")
          .onClick(() => {
            router.pushUrl({
              url: "pages/SecondPage"
            });
          });
      }
      .width('100%')
    }
    .height('100%')
  }
}

Mã trang đích

@Entry
@Component
struct SecondPage {
  @State message: string = 'Xin chào Thế giới';

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

Mã dự án và hiệu ứng giao diện

Giao diện ứng dụng

Thẻ: ArkTS HarmonyOS ArkUI Stage Model router API

Đăng vào ngày 27 tháng 7 lúc 05:36