From 546cf51e22272ec054cebc0254858411b4023fc8 Mon Sep 17 00:00:00 2001 From: sfchu Date: Fri, 20 Jun 2025 01:20:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=90=8C=E6=BA=90=E6=A0=87?= =?UTF-8?q?=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ets/entryability/EntryAbility.ets | 44 +++++++++++++ .../entrybackupability/EntryBackupAbility.ets | 16 +++++ .../configautorotation/ets/pages/Index.ets | 23 +++++++ .../src/main/configautorotation/module.json5 | 64 +++++++++++++++++++ .../ets/entryability/EntryAbility.ets | 44 +++++++++++++ .../entrybackupability/EntryBackupAbility.ets | 16 +++++ .../configlandscapeauto/ets/pages/Index.ets | 23 +++++++ .../src/main/configlandscapeauto/module.json5 | 64 +++++++++++++++++++ .../ets/entryability/EntryAbility.ets | 44 +++++++++++++ .../entrybackupability/EntryBackupAbility.ets | 16 +++++ .../main/configportrait/ets/pages/Index.ets | 23 +++++++ .../src/main/configportrait/module.json5 | 64 +++++++++++++++++++ .../entry/src/main/module.json5 | 17 +---- 13 files changed, 444 insertions(+), 14 deletions(-) create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/entryability/EntryAbility.ets create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/entrybackupability/EntryBackupAbility.ets create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/pages/Index.ets create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configautorotation/module.json5 create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/entryability/EntryAbility.ets create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/entrybackupability/EntryBackupAbility.ets create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/pages/Index.ets create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/module.json5 create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/entryability/EntryAbility.ets create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/entrybackupability/EntryBackupAbility.ets create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/pages/Index.ets create mode 100644 ArkUI/orientationDevelopment/entry/src/main/configportrait/module.json5 diff --git a/ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/entryability/EntryAbility.ets b/ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/entryability/EntryAbility.ets new file mode 100644 index 00000000..508880af --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/entryability/EntryAbility.ets @@ -0,0 +1,44 @@ +import { AbilityConstant, ConfigurationConstant, UIAbility, Want } from '@kit.AbilityKit'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { window } from '@kit.ArkUI'; + +const DOMAIN = 0x0000; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err) => { + if (err.code) { + hilog.error(DOMAIN, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err)); + return; + } + hilog.info(DOMAIN, 'testTag', 'Succeeded in loading the content.'); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onBackground'); + } +} \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/entrybackupability/EntryBackupAbility.ets b/ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/entrybackupability/EntryBackupAbility.ets new file mode 100644 index 00000000..8e4de992 --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/entrybackupability/EntryBackupAbility.ets @@ -0,0 +1,16 @@ +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; + +const DOMAIN = 0x0000; + +export default class EntryBackupAbility extends BackupExtensionAbility { + async onBackup() { + hilog.info(DOMAIN, 'testTag', 'onBackup ok'); + await Promise.resolve(); + } + + async onRestore(bundleVersion: BundleVersion) { + hilog.info(DOMAIN, 'testTag', 'onRestore ok %{public}s', JSON.stringify(bundleVersion)); + await Promise.resolve(); + } +} \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/pages/Index.ets b/ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/pages/Index.ets new file mode 100644 index 00000000..8e2d24ad --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configautorotation/ets/pages/Index.ets @@ -0,0 +1,23 @@ +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + RelativeContainer() { + Text(this.message) + .id('HelloWorld') + .fontSize($r('app.float.page_text_font_size')) + .fontWeight(FontWeight.Bold) + .alignRules({ + center: { anchor: '__container__', align: VerticalAlign.Center }, + middle: { anchor: '__container__', align: HorizontalAlign.Center } + }) + .onClick(() => { + this.message = 'Welcome'; + }) + } + .height('100%') + .width('100%') + } +} \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/configautorotation/module.json5 b/ArkUI/orientationDevelopment/entry/src/main/configautorotation/module.json5 new file mode 100644 index 00000000..01b6011d --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configautorotation/module.json5 @@ -0,0 +1,64 @@ +// [Start module] +{ + "module": { + // [StartExclude module] + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "phone", + "tablet", + "2in1", + "wearable" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + // [EndExclude module] + "abilities": [ + { + "name": "EntryAbility", + // [StartExclude module] + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:layered_image", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + // [EndExclude module] + "orientation": "auto_rotation", + // [StartExclude module] + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + // [EndExclude module] + } + ], + // [StartExclude module] + "extensionAbilities": [ + { + "name": "EntryBackupAbility", + "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets", + "type": "backup", + "exported": false, + "metadata": [ + { + "name": "ohos.extension.backup", + "resource": "$profile:backup_config" + } + ], + } + ], + // [EndExclude module] + } +} +// [End module] \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/entryability/EntryAbility.ets b/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/entryability/EntryAbility.ets new file mode 100644 index 00000000..508880af --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/entryability/EntryAbility.ets @@ -0,0 +1,44 @@ +import { AbilityConstant, ConfigurationConstant, UIAbility, Want } from '@kit.AbilityKit'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { window } from '@kit.ArkUI'; + +const DOMAIN = 0x0000; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err) => { + if (err.code) { + hilog.error(DOMAIN, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err)); + return; + } + hilog.info(DOMAIN, 'testTag', 'Succeeded in loading the content.'); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onBackground'); + } +} \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/entrybackupability/EntryBackupAbility.ets b/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/entrybackupability/EntryBackupAbility.ets new file mode 100644 index 00000000..8e4de992 --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/entrybackupability/EntryBackupAbility.ets @@ -0,0 +1,16 @@ +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; + +const DOMAIN = 0x0000; + +export default class EntryBackupAbility extends BackupExtensionAbility { + async onBackup() { + hilog.info(DOMAIN, 'testTag', 'onBackup ok'); + await Promise.resolve(); + } + + async onRestore(bundleVersion: BundleVersion) { + hilog.info(DOMAIN, 'testTag', 'onRestore ok %{public}s', JSON.stringify(bundleVersion)); + await Promise.resolve(); + } +} \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/pages/Index.ets b/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/pages/Index.ets new file mode 100644 index 00000000..8e2d24ad --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/ets/pages/Index.ets @@ -0,0 +1,23 @@ +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + RelativeContainer() { + Text(this.message) + .id('HelloWorld') + .fontSize($r('app.float.page_text_font_size')) + .fontWeight(FontWeight.Bold) + .alignRules({ + center: { anchor: '__container__', align: VerticalAlign.Center }, + middle: { anchor: '__container__', align: HorizontalAlign.Center } + }) + .onClick(() => { + this.message = 'Welcome'; + }) + } + .height('100%') + .width('100%') + } +} \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/module.json5 b/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/module.json5 new file mode 100644 index 00000000..f45f9d02 --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configlandscapeauto/module.json5 @@ -0,0 +1,64 @@ +// [Start module] +{ + "module": { + // [StartExclude module] + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "phone", + "tablet", + "2in1", + "wearable" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + // [EndExclude module] + "abilities": [ + { + "name": "EntryAbility", + // [StartExclude module] + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:layered_image", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + // [EndExclude module] + "preferMultiWindowOrientation": "landscape_auto", + // [StartExclude module] + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + // [EndExclude module] + } + ], + // [StartExclude module] + "extensionAbilities": [ + { + "name": "EntryBackupAbility", + "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets", + "type": "backup", + "exported": false, + "metadata": [ + { + "name": "ohos.extension.backup", + "resource": "$profile:backup_config" + } + ], + } + ], + // [EndExclude module] + } +} +// [End module] \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/entryability/EntryAbility.ets b/ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/entryability/EntryAbility.ets new file mode 100644 index 00000000..508880af --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/entryability/EntryAbility.ets @@ -0,0 +1,44 @@ +import { AbilityConstant, ConfigurationConstant, UIAbility, Want } from '@kit.AbilityKit'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { window } from '@kit.ArkUI'; + +const DOMAIN = 0x0000; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err) => { + if (err.code) { + hilog.error(DOMAIN, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err)); + return; + } + hilog.info(DOMAIN, 'testTag', 'Succeeded in loading the content.'); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onBackground'); + } +} \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/entrybackupability/EntryBackupAbility.ets b/ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/entrybackupability/EntryBackupAbility.ets new file mode 100644 index 00000000..8e4de992 --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/entrybackupability/EntryBackupAbility.ets @@ -0,0 +1,16 @@ +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; + +const DOMAIN = 0x0000; + +export default class EntryBackupAbility extends BackupExtensionAbility { + async onBackup() { + hilog.info(DOMAIN, 'testTag', 'onBackup ok'); + await Promise.resolve(); + } + + async onRestore(bundleVersion: BundleVersion) { + hilog.info(DOMAIN, 'testTag', 'onRestore ok %{public}s', JSON.stringify(bundleVersion)); + await Promise.resolve(); + } +} \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/pages/Index.ets b/ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/pages/Index.ets new file mode 100644 index 00000000..8e2d24ad --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configportrait/ets/pages/Index.ets @@ -0,0 +1,23 @@ +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + RelativeContainer() { + Text(this.message) + .id('HelloWorld') + .fontSize($r('app.float.page_text_font_size')) + .fontWeight(FontWeight.Bold) + .alignRules({ + center: { anchor: '__container__', align: VerticalAlign.Center }, + middle: { anchor: '__container__', align: HorizontalAlign.Center } + }) + .onClick(() => { + this.message = 'Welcome'; + }) + } + .height('100%') + .width('100%') + } +} \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/configportrait/module.json5 b/ArkUI/orientationDevelopment/entry/src/main/configportrait/module.json5 new file mode 100644 index 00000000..e53c3302 --- /dev/null +++ b/ArkUI/orientationDevelopment/entry/src/main/configportrait/module.json5 @@ -0,0 +1,64 @@ +// [Start module] +{ + "module": { + // [StartExclude module] + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "phone", + "tablet", + "2in1", + "wearable" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + // [EndExclude module] + "abilities": [ + { + "name": "EntryAbility", + // [StartExclude module] + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:layered_image", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + // [EndExclude module] + "orientation": "portrait", + // [StartExclude module] + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + // [EndExclude module] + } + ], + // [StartExclude module] + "extensionAbilities": [ + { + "name": "EntryBackupAbility", + "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets", + "type": "backup", + "exported": false, + "metadata": [ + { + "name": "ohos.extension.backup", + "resource": "$profile:backup_config" + } + ], + } + ], + // [EndExclude module] + } +} +// [End module] \ No newline at end of file diff --git a/ArkUI/orientationDevelopment/entry/src/main/module.json5 b/ArkUI/orientationDevelopment/entry/src/main/module.json5 index cbc483dd..87e1cd48 100644 --- a/ArkUI/orientationDevelopment/entry/src/main/module.json5 +++ b/ArkUI/orientationDevelopment/entry/src/main/module.json5 @@ -1,7 +1,5 @@ -// [Start module] { "module": { - // [StartExclude module] "name": "entry", "type": "entry", "description": "$string:module_desc", @@ -15,19 +13,14 @@ "deliveryWithInstall": true, "installationFree": false, "pages": "$profile:main_pages", - // [EndExclude module] "abilities": [ { "name": "EntryAbility", - // [StartExclude module] "srcEntry": "./ets/entryability/EntryAbility.ets", "description": "$string:EntryAbility_desc", "icon": "$media:layered_image", "label": "$string:EntryAbility_label", - // [EndExclude module] "startWindowIcon": "$media:startIcon", - "orientation": "auto_rotation", - // [StartExclude module] "startWindowBackground": "$color:start_window_background", "exported": true, "skills": [ @@ -39,11 +32,9 @@ "action.system.home" ] } - ], - // [EndExclude module] + ] } ], - // [StartExclude module] "extensionAbilities": [ { "name": "EntryBackupAbility", @@ -57,8 +48,6 @@ } ], } - ], - // [EndExclude module] + ] } -} -// [End module] \ No newline at end of file +} \ No newline at end of file -- Gitee