From 32a3fc6bb281aa57cb1297e5ef215cc1a9e95af3 Mon Sep 17 00:00:00 2001 From: wangweiyuan Date: Wed, 30 Jul 2025 15:32:45 +0800 Subject: [PATCH] RM002 Signed-off-by: wangweiyuan --- ResourceManagement/RawFile/.gitignore | 12 + ResourceManagement/RawFile/AppScope/app.json5 | 25 ++ .../resources/base/element/string.json | 8 + .../resources/base/media/app_icon.png | Bin 0 -> 2777 bytes ResourceManagement/RawFile/README.md | 73 +++++ .../RawFile/build-profile.json5 | 59 ++++ ResourceManagement/RawFile/entry/.gitignore | 6 + .../RawFile/entry/build-profile.json5 | 54 ++++ .../RawFile/entry/hvigorfile.ts | 21 ++ .../RawFile/entry/obfuscation-rules.txt | 22 ++ .../RawFile/entry/oh-package.json5 | 26 ++ .../RawFile/entry/src/main/cpp/CMakeLists.txt | 28 ++ .../RawFile/entry/src/main/cpp/hello.cpp | 290 ++++++++++++++++++ .../src/main/cpp/types/libentry/Index.d.ts | 20 ++ .../main/cpp/types/libentry/oh-package.json5 | 21 ++ .../main/ets/entryability/EntryAbility.ets | 56 ++++ .../entrybackupability/EntryBackupAbility.ets | 27 ++ .../entry/src/main/ets/pages/Index.ets | 72 +++++ .../RawFile/entry/src/main/module.json5 | 66 ++++ .../main/resources/base/element/color.json | 8 + .../main/resources/base/element/string.json | 16 + .../main/resources/base/media/background.png | Bin 0 -> 57364 bytes .../main/resources/base/media/foreground.png | Bin 0 -> 12430 bytes .../resources/base/media/layered_image.json | 7 + .../main/resources/base/media/startIcon.png | Bin 0 -> 20093 bytes .../resources/base/profile/backup_config.json | 3 + .../resources/base/profile/main_pages.json | 5 + .../main/resources/en_US/element/string.json | 16 + .../src/main/resources/rawfile/rawfile.txt | 1 + .../src/main/resources/rawfile/rawfile1.txt | 1 + .../resources/rawfile/subrawfile/rawfile2.txt | 1 + .../main/resources/zh_CN/element/string.json | 16 + .../src/ohosTest/ets/test/Ability.test.ets | 97 ++++++ .../entry/src/ohosTest/ets/test/List.test.ets | 20 ++ .../RawFile/entry/src/ohosTest/module.json5 | 27 ++ .../RawFile/hvigor/hvigor-config.json5 | 37 +++ ResourceManagement/RawFile/hvigorfile.ts | 21 ++ ResourceManagement/RawFile/oh-package.json5 | 25 ++ ResourceManagement/RawFile/ohosTest.md | 12 + .../RawFile/screenshots/.gitkeep | 0 .../RawFile/screenshots/RawFile_Index1.png | Bin 0 -> 35806 bytes .../RawFile/screenshots/RawFile_Index2.png | Bin 0 -> 47524 bytes .../RawFile/screenshots/log.png | Bin 0 -> 43887 bytes 43 files changed, 1199 insertions(+) create mode 100644 ResourceManagement/RawFile/.gitignore create mode 100644 ResourceManagement/RawFile/AppScope/app.json5 create mode 100644 ResourceManagement/RawFile/AppScope/resources/base/element/string.json create mode 100644 ResourceManagement/RawFile/AppScope/resources/base/media/app_icon.png create mode 100644 ResourceManagement/RawFile/README.md create mode 100644 ResourceManagement/RawFile/build-profile.json5 create mode 100644 ResourceManagement/RawFile/entry/.gitignore create mode 100644 ResourceManagement/RawFile/entry/build-profile.json5 create mode 100644 ResourceManagement/RawFile/entry/hvigorfile.ts create mode 100644 ResourceManagement/RawFile/entry/obfuscation-rules.txt create mode 100644 ResourceManagement/RawFile/entry/oh-package.json5 create mode 100644 ResourceManagement/RawFile/entry/src/main/cpp/CMakeLists.txt create mode 100644 ResourceManagement/RawFile/entry/src/main/cpp/hello.cpp create mode 100644 ResourceManagement/RawFile/entry/src/main/cpp/types/libentry/Index.d.ts create mode 100644 ResourceManagement/RawFile/entry/src/main/cpp/types/libentry/oh-package.json5 create mode 100644 ResourceManagement/RawFile/entry/src/main/ets/entryability/EntryAbility.ets create mode 100644 ResourceManagement/RawFile/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets create mode 100644 ResourceManagement/RawFile/entry/src/main/ets/pages/Index.ets create mode 100644 ResourceManagement/RawFile/entry/src/main/module.json5 create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/base/element/color.json create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/base/element/string.json create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/base/media/background.png create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/base/media/foreground.png create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/base/media/layered_image.json create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/base/media/startIcon.png create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/base/profile/backup_config.json create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/base/profile/main_pages.json create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/en_US/element/string.json create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/rawfile/rawfile.txt create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/rawfile/rawfile1.txt create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/rawfile/subrawfile/rawfile2.txt create mode 100644 ResourceManagement/RawFile/entry/src/main/resources/zh_CN/element/string.json create mode 100644 ResourceManagement/RawFile/entry/src/ohosTest/ets/test/Ability.test.ets create mode 100644 ResourceManagement/RawFile/entry/src/ohosTest/ets/test/List.test.ets create mode 100644 ResourceManagement/RawFile/entry/src/ohosTest/module.json5 create mode 100644 ResourceManagement/RawFile/hvigor/hvigor-config.json5 create mode 100644 ResourceManagement/RawFile/hvigorfile.ts create mode 100644 ResourceManagement/RawFile/oh-package.json5 create mode 100644 ResourceManagement/RawFile/ohosTest.md create mode 100644 ResourceManagement/RawFile/screenshots/.gitkeep create mode 100644 ResourceManagement/RawFile/screenshots/RawFile_Index1.png create mode 100644 ResourceManagement/RawFile/screenshots/RawFile_Index2.png create mode 100644 ResourceManagement/RawFile/screenshots/log.png diff --git a/ResourceManagement/RawFile/.gitignore b/ResourceManagement/RawFile/.gitignore new file mode 100644 index 000000000..d2ff20141 --- /dev/null +++ b/ResourceManagement/RawFile/.gitignore @@ -0,0 +1,12 @@ +/node_modules +/oh_modules +/local.properties +/.idea +**/build +/.hvigor +.cxx +/.clangd +/.clang-format +/.clang-tidy +**/.test +/.appanalyzer \ No newline at end of file diff --git a/ResourceManagement/RawFile/AppScope/app.json5 b/ResourceManagement/RawFile/AppScope/app.json5 new file mode 100644 index 000000000..023f4a247 --- /dev/null +++ b/ResourceManagement/RawFile/AppScope/app.json5 @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "app": { + "bundleName": "com.samples.rawfile", + "vendor": "samples", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/ResourceManagement/RawFile/AppScope/resources/base/element/string.json b/ResourceManagement/RawFile/AppScope/resources/base/element/string.json new file mode 100644 index 000000000..d1a4889b0 --- /dev/null +++ b/ResourceManagement/RawFile/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "RawFile" + } + ] +} diff --git a/ResourceManagement/RawFile/AppScope/resources/base/media/app_icon.png b/ResourceManagement/RawFile/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a39445dc87828b76fed6d2ec470dd455c45319e3 GIT binary patch literal 2777 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 literal 0 HcmV?d00001 diff --git a/ResourceManagement/RawFile/README.md b/ResourceManagement/RawFile/README.md new file mode 100644 index 000000000..57c38d4cc --- /dev/null +++ b/ResourceManagement/RawFile/README.md @@ -0,0 +1,73 @@ +# RawFile(资源管理) + +### 介绍 + +本工程主要实现了[Rawfile开发指导](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.1.0-Release/zh-cn/application-dev/napi/rawfile-guidelines.md)中功能,开发者可以通过本项目了解如何使用Native Rawfile接口操作Rawfile目录和文件。功能包括文件列表遍历、文件打开、搜索、读取和关闭Rawfile。 + +### 效果预览 + +| 显示页面 | 点击Hello World后的页面 | 点击后日志打印效果 | +| ------------------------------------------------------------|-------------------------------------| ----------------------------------------------- | +| ![](screenshots/RawFile_Index1.png) | ![](screenshots/RawFile_Index2.png) | ![](screenshots/log.png) | + +### 使用说明 + +1. 启动项目后,会显示带有“Hello World”的文本页面; +2. 点击“Hello World”文本触发点击事件; +3. 关注DevEco中的日志窗口,会打印log显示处理结果,包括文件资源的文件列表、文件、文件描述符; + +### 目录结构 + +``` +RawFile/entry/src/ +|---main +│   |---cpp +│   │   |---CMakeLists.txt(CMake构建配置文件) +│   │   |---hello.cpp(RawFile的主要功能逻辑文件) +│   │   |---types +│   │   |---libentry +│   │   |---Index.d.ts(应用侧函数声明文件) +│   │   |---oh-package.json5 +│   |---ets +│   │   |---pages +│   │   |---Index.ets(构建页面,调用RawFile功能函数输出Log日志) +│   |---resources +│   |---rawfile(RawFile调用的资源文件) +│   │   |---rawfile.txt +│   │   |---rawfile1.txt +│   │   |---subrawfile +│   │   |---rawfile2.txt +``` + +### 具体实现 + +- 想要使用Native Rawfile接口操作Rawfile目录和文件。功能包括文件列表遍历、文件打开、搜索、读取和关闭Rawfile,需要在CPP目录下的index.d.ts文件中声明应用侧函数getFileList()、getRawFileContent()、getRawFileDescriptor()、isRawDir()。 +- 在hello.cpp中实现getFileList()、getRawFileContent()、getRawFileDescriptor()、isRawDir()的具体代码,实际操作逻辑。 +- 在ets目录下的index.ets文件就可以通过import testNapi from "libentry.so";导入相关库,进行对上述函数的调用。 + +### 相关权限 + +不涉及。 + +### 依赖 + +不涉及。 + +### 约束与限制 + +1. 本示例仅支持标准系统上运行,支持设备:华为手机。 +2. HarmonyOS系统:HarmonyOS 5.1.1 Release及以上。 +3. DevEco Studio版本:DevEco Studio 5.1.1 Release及以上。 +4. HarmonyOS SDK版本:HarmonyOS 5.1.1 Release及以上。 + +### 下载 + +如需单独下载本工程,执行如下命令: + +``` +git init +git config core.sparsecheckout true +echo ResourceManagement/RawFile/ > .git/info/sparse-checkout +git remote add origin https://gitee.com/harmonyos_samples/guide-snippets.git +git pull origin master +``` \ No newline at end of file diff --git a/ResourceManagement/RawFile/build-profile.json5 b/ResourceManagement/RawFile/build-profile.json5 new file mode 100644 index 000000000..cbb8d44aa --- /dev/null +++ b/ResourceManagement/RawFile/build-profile.json5 @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "app": { + "signingConfigs": [], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compatibleSdkVersion": "5.1.1(19)", + "targetSdkVersion": "5.1.1(19)", + "runtimeOS": "HarmonyOS", + "buildOption": { + "externalNativeOptions": { + "abiFilters": [ + "arm64-v8a", + "x86_64", + ], + } + } + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/.gitignore b/ResourceManagement/RawFile/entry/.gitignore new file mode 100644 index 000000000..e2713a277 --- /dev/null +++ b/ResourceManagement/RawFile/entry/.gitignore @@ -0,0 +1,6 @@ +/node_modules +/oh_modules +/.preview +/build +/.cxx +/.test \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/build-profile.json5 b/ResourceManagement/RawFile/entry/build-profile.json5 new file mode 100644 index 000000000..49175e1cf --- /dev/null +++ b/ResourceManagement/RawFile/entry/build-profile.json5 @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "apiType": "stageMode", + "buildOption": { + "externalNativeOptions": { + "path": "./src/main/cpp/CMakeLists.txt", + "arguments": "", + "cppFlags": "", + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": true, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + }, + "nativeLib": { + "debugSymbol": { + "strip": true, + "exclude": [] + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/hvigorfile.ts b/ResourceManagement/RawFile/entry/hvigorfile.ts new file mode 100644 index 000000000..d34f0f7bb --- /dev/null +++ b/ResourceManagement/RawFile/entry/hvigorfile.ts @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { hapTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/ResourceManagement/RawFile/entry/obfuscation-rules.txt b/ResourceManagement/RawFile/entry/obfuscation-rules.txt new file mode 100644 index 000000000..fdbb5b985 --- /dev/null +++ b/ResourceManagement/RawFile/entry/obfuscation-rules.txt @@ -0,0 +1,22 @@ +# Define project specific obfuscation rules here. +# You can include the obfuscation configuration files in the current module's build-profile.json5. +# +# For more details, see +# https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/source-obfuscation-V5 + +# Obfuscation options: +# -disable-obfuscation: disable all obfuscations +# -enable-property-obfuscation: obfuscate the property names +# -enable-toplevel-obfuscation: obfuscate the names in the global scope +# -compact: remove unnecessary blank spaces and all line feeds +# -remove-log: remove all console.* statements +# -print-namecache: print the name cache that contains the mapping from the old names to new names +# -apply-namecache: reuse the given cache file + +# Keep options: +# -keep-property-name: specifies property names that you want to keep +# -keep-global-name: specifies names that you want to keep in the global scope +-enable-property-obfuscation +-enable-toplevel-obfuscation +-enable-filename-obfuscation +-enable-export-obfuscation \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/oh-package.json5 b/ResourceManagement/RawFile/entry/oh-package.json5 new file mode 100644 index 000000000..d1ae3a496 --- /dev/null +++ b/ResourceManagement/RawFile/entry/oh-package.json5 @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "name": "entry", + "version": "1.0.0", + "description": "example description", + "main": "", + "author": "", + "license": "", + "dependencies": { + "libentry.so": "file:./src/main/cpp/types/libentry" + } +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/cpp/CMakeLists.txt b/ResourceManagement/RawFile/entry/src/main/cpp/CMakeLists.txt new file mode 100644 index 000000000..97ecca402 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/cpp/CMakeLists.txt @@ -0,0 +1,28 @@ + # Copyright (c) 2025 Huawei Device Co., Ltd. + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + + # the minimum version of CMake. +cmake_minimum_required(VERSION 3.5.0) +project(RawFile) + +set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + +if(DEFINED PACKAGE_FIND_FILE) + include(${PACKAGE_FIND_FILE}) +endif() + +include_directories(${NATIVERENDER_ROOT_PATH} + ${NATIVERENDER_ROOT_PATH}/include) + +add_library(entry SHARED hello.cpp) +target_link_libraries(entry PUBLIC libace_napi.z.so libhilog_ndk.z.so librawfile.z.so) \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/cpp/hello.cpp b/ResourceManagement/RawFile/entry/src/main/cpp/hello.cpp new file mode 100644 index 000000000..4c737f6d8 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/cpp/hello.cpp @@ -0,0 +1,290 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License'); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// [Start includes] +#include +#include +#include +#include +#include +#include "napi/native_api.h" +#include "rawfile/raw_file_manager.h" +#include "rawfile/raw_file.h" +#include "rawfile/raw_dir.h" +#include "hilog/log.h" +// [End includes] + +// [Start constants] +const int GLOBAL_RESMGR = 0xFF00; +const char *TAG = "[Sample_rawfile]"; +// [End constants] + +// [Start example_get_file_list] +// 示例一:获取rawfile文件列表 GetFileList +static napi_value GetFileList(napi_env env, napi_callback_info info) +{ + OH_LOG_Print(LOG_APP, LOG_INFO, GLOBAL_RESMGR, TAG, "NDKTest GetFileList Begin"); + size_t argc = 2; + napi_value argv[2] = { nullptr }; + // 获取参数信息 + napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); + + // argv[0]即为函数第一个参数Js资源对象,OH_ResourceManager_InitNativeResourceManager转为Native对象 + NativeResourceManager *mNativeResMgr = OH_ResourceManager_InitNativeResourceManager(env, argv[0]); + + // 获取函数argv[1],此为rawfile相对路径 + size_t strSize; + char strBuf[256]; + napi_get_value_string_utf8(env, argv[1], strBuf, sizeof(strBuf), &strSize); + std::string dirName(strBuf, strSize); + + // 获取对应的rawDir指针对象 + RawDir* rawDir = OH_ResourceManager_OpenRawDir(mNativeResMgr, dirName.c_str()); + + // 获取rawDir下文件及文件夹数量 + int count = OH_ResourceManager_GetRawFileCount(rawDir); + + // 遍历获取文件名称,并保存 + std::vector tempArray; + for (int i = 0; i < count; i++) { + std::string filename = OH_ResourceManager_GetRawFileName(rawDir, i); + tempArray.emplace_back(filename); + } + + // 转为js数组 + napi_value fileList; + napi_create_array(env, &fileList); + for (size_t i = 0; i < tempArray.size(); i++) { + napi_value jsString; + napi_create_string_utf8(env, tempArray[i].c_str(), NAPI_AUTO_LENGTH, &jsString); + napi_set_element(env, fileList, i, jsString); + } + + // 关闭打开的指针对象 + OH_ResourceManager_CloseRawDir(rawDir); + OH_ResourceManager_ReleaseNativeResourceManager(mNativeResMgr); + return fileList; +} +// [End example_get_file_list] + +// [Start example_get_rawfile_content] +// 示例二:获取rawfile文件内容 GetRawFileContent +napi_value CreateJsArrayValue(napi_env env, std::unique_ptr &data, long length) +{ + // 创建js外部ArrayBuffer + napi_value buffer; + napi_status status = napi_create_external_arraybuffer(env, data.get(), length, + [](napi_env env, void *data, void *hint) { + delete[] static_cast(data); + }, nullptr, &buffer); + // 检测ArrayBuffer是否创建成功 + if (status != napi_ok) { + OH_LOG_Print(LOG_APP, LOG_ERROR, GLOBAL_RESMGR, TAG, "Failed to create external array buffer"); + return nullptr; + } + // 创建js TypedArray 将ArrayBuffer绑定到TypedArray + napi_value result = nullptr; + status = napi_create_typedarray(env, napi_uint8_array, length, buffer, 0, &result); + if (status != napi_ok) { + OH_LOG_Print(LOG_APP, LOG_ERROR, GLOBAL_RESMGR, TAG, "Failed to create media typed array"); + return nullptr; + } + data.release(); + return result; +} + +static napi_value GetRawFileContent(napi_env env, napi_callback_info info) +{ + OH_LOG_Print(LOG_APP, LOG_INFO, GLOBAL_RESMGR, TAG, "GetFileContent Begin"); + size_t argc = 2; + napi_value argv[2] = { nullptr }; + // 获取参数信息 + napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); + + // argv[0]即为函数第一个参数Js资源对象,OH_ResourceManager_InitNativeResourceManager转为Native对象 + NativeResourceManager *mNativeResMgr = OH_ResourceManager_InitNativeResourceManager(env, argv[0]); + size_t strSize; + char strBuf[256]; + napi_get_value_string_utf8(env, argv[1], strBuf, sizeof(strBuf), &strSize); + std::string filename(strBuf, strSize); + + // 获取rawfile指针对象 + RawFile *rawFile = OH_ResourceManager_OpenRawFile(mNativeResMgr, filename.c_str()); + if (rawFile != nullptr) { + OH_LOG_Print(LOG_APP, LOG_INFO, GLOBAL_RESMGR, TAG, "OH_ResourceManager_OpenRawFile success"); + } + // 获取rawfile大小并申请内存 + long len = OH_ResourceManager_GetRawFileSize(rawFile); + std::unique_ptr data = std::make_unique(len); + + // 一次性读取rawfile全部内容 + int res = OH_ResourceManager_ReadRawFile(rawFile, data.get(), len); + + // 关闭打开的指针对象 + OH_ResourceManager_CloseRawFile(rawFile); + OH_ResourceManager_ReleaseNativeResourceManager(mNativeResMgr); + // 转为js对象 + return CreateJsArrayValue(env, data, len); +} +// [End example_get_rawfile_content] + +// [Start example_get_rawfile_descriptor] +// 示例三:获取rawfile文件描述符 GetRawFileDescriptor +// 定义一个函数,将RawFileDescriptor转为js对象 +napi_value createJsFileDescriptor(napi_env env, RawFileDescriptor& descriptor) +{ + // 创建js对象 + napi_value result; + napi_status status = napi_create_object(env, &result); + if (status != napi_ok) { + return result; + } + + // 将文件描述符df存入到result对象中 + napi_value fd; + status = napi_create_int32(env, descriptor.fd, &fd); + if (status != napi_ok) { + return result; + } + status = napi_set_named_property(env, result, "fd", fd); + if (status != napi_ok) { + return result; + } + + // 将文件偏移量offset存入到result对象中 + napi_value offset; + status = napi_create_int64(env, descriptor.start, &offset); + if (status != napi_ok) { + return result; + } + status = napi_set_named_property(env, result, "offset", offset); + if (status != napi_ok) { + return result; + } + + // 将文件长度length存入到result对象中 + napi_value length; + status = napi_create_int64(env, descriptor.length, &length); + if (status != napi_ok) { + return result; + } + status = napi_set_named_property(env, result, "length", length); + if (status != napi_ok) { + return result; + } + return result; +} + +static napi_value GetRawFileDescriptor(napi_env env, napi_callback_info info) +{ + OH_LOG_Print(LOG_APP, LOG_INFO, GLOBAL_RESMGR, TAG, "NDKTest GetRawFileDescriptor Begin"); + size_t argc = 2; + napi_value argv[2] = { nullptr }; + // 获取参数信息 + napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); + + // argv[0]即为函数第一个参数Js资源对象,OH_ResourceManager_InitNativeResourceManager转为Native对象 + NativeResourceManager *mNativeResMgr = OH_ResourceManager_InitNativeResourceManager(env, argv[0]); + size_t strSize; + char strBuf[256]; + napi_get_value_string_utf8(env, argv[1], strBuf, sizeof(strBuf), &strSize); + std::string filename(strBuf, strSize); + // 获取rawfile指针对象 + RawFile *rawFile = OH_ResourceManager_OpenRawFile(mNativeResMgr, filename.c_str()); + if (rawFile != nullptr) { + OH_LOG_Print(LOG_APP, LOG_INFO, GLOBAL_RESMGR, TAG, "OH_ResourceManager_OpenRawFile success"); + } + // 获取rawfile的描述符RawFileDescriptor {fd, offset, length} + RawFileDescriptor descriptor; + OH_ResourceManager_GetRawFileDescriptor(rawFile, descriptor); + // 关闭打开的指针对象 + OH_ResourceManager_CloseRawFile(rawFile); + OH_ResourceManager_ReleaseNativeResourceManager(mNativeResMgr); + // 转为js对象 + return createJsFileDescriptor(env, descriptor); +} +// [End example_get_rawfile_descriptor] + +// [Start example_is_raw_dir] +// 示例四:判断路径是否是rawfile下的目录 IsRawDir +napi_value CreateJsBool(napi_env env, bool &bValue) +{ + napi_value jsValue = nullptr; + if (napi_get_boolean(env, bValue, &jsValue) != napi_ok) { + return nullptr; + } + return jsValue; +} + +static napi_value IsRawDir(napi_env env, napi_callback_info info) +{ + OH_LOG_Print(LOG_APP, LOG_INFO, GLOBAL_RESMGR, TAG, "NDKTest IsRawDir Begin"); + size_t argc = 2; + napi_value argv[2] = { nullptr }; + // 获取参数信息 + napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); + + // argv[0]即为函数第一个参数Js资源对象,OH_ResourceManager_InitNativeResourceManager转为Native对象 + NativeResourceManager *mNativeResMgr = OH_ResourceManager_InitNativeResourceManager(env, argv[0]); + + napi_valuetype fileNameType; + napi_typeof(env, argv[1], &fileNameType); + if (fileNameType == napi_undefined || fileNameType == napi_null) { + OH_LOG_Print(LOG_APP, LOG_ERROR, GLOBAL_RESMGR, TAG, "NDKTest file name is null"); + bool temp = false; + return CreateJsBool(env, temp); + } + size_t strSize; + char strBuf[256]; + napi_get_value_string_utf8(env, argv[1], strBuf, sizeof(strBuf), &strSize); + std::string filename(strBuf, strSize); + // 判断是否是rawfile下的目录 + bool result = OH_ResourceManager_IsRawDir(mNativeResMgr, filename.c_str()); + OH_ResourceManager_ReleaseNativeResourceManager(mNativeResMgr); + return CreateJsBool(env, result); +} +// [End example_is_raw_dir] + +// [Start module_registration] +EXTERN_C_START +static napi_value Init(napi_env env, napi_value exports) +{ + napi_property_descriptor desc[] = { + { "getFileList", nullptr, GetFileList, nullptr, nullptr, nullptr, napi_default, nullptr }, + { "getRawFileContent", nullptr, GetRawFileContent, nullptr, nullptr, nullptr, napi_default, nullptr }, + { "getRawFileDescriptor", nullptr, GetRawFileDescriptor, nullptr, nullptr, nullptr, napi_default, nullptr }, + { "isRawDir", nullptr, IsRawDir, nullptr, nullptr, nullptr, napi_default, nullptr } + }; + + napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc); + return exports; +} +EXTERN_C_END +// [End module_registration] + +static napi_module demoModule = { + .nm_version = 1, + .nm_flags = 0, + .nm_filename = nullptr, + .nm_register_func = Init, + .nm_modname = "entry", + .nm_priv = ((void*)0), + .reserved = { 0 }, +}; + +extern "C" __attribute__((constructor)) void RegisterEntryModule(void) +{ + napi_module_register(&demoModule); +} diff --git a/ResourceManagement/RawFile/entry/src/main/cpp/types/libentry/Index.d.ts b/ResourceManagement/RawFile/entry/src/main/cpp/types/libentry/Index.d.ts new file mode 100644 index 000000000..ef75cb6c9 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/cpp/types/libentry/Index.d.ts @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import resourceManager from '@ohos.resourceManager'; +export const getFileList: (resmgr: resourceManager.ResourceManager, path: string) => Array; +export const getRawFileContent: (resmgr: resourceManager.ResourceManager, path: string) => Uint8Array; +export const getRawFileDescriptor: (resmgr: resourceManager.ResourceManager, path: string) => resourceManager.RawFileDescriptor; +export const isRawDir: (resmgr: resourceManager.ResourceManager, path: string) => boolean; \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/cpp/types/libentry/oh-package.json5 b/ResourceManagement/RawFile/entry/src/main/cpp/types/libentry/oh-package.json5 new file mode 100644 index 000000000..6abf3b7c2 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/cpp/types/libentry/oh-package.json5 @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "name": "libentry.so", + "types": "./Index.d.ts", + "version": "1.0.0", + "description": "Please describe the basic information." +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/ets/entryability/EntryAbility.ets b/ResourceManagement/RawFile/entry/src/main/ets/entryability/EntryAbility.ets new file mode 100644 index 000000000..c5539bddd --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/ets/entryability/EntryAbility.ets @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { window } from '@kit.ArkUI'; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.'); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +}; diff --git a/ResourceManagement/RawFile/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets b/ResourceManagement/RawFile/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets new file mode 100644 index 000000000..b1e212947 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; + +export default class EntryBackupAbility extends BackupExtensionAbility { + async onBackup() { + hilog.info(0x0000, 'testTag', 'onBackup ok'); + } + + async onRestore(bundleVersion: BundleVersion) { + hilog.info(0x0000, 'testTag', 'onRestore ok %{public}s', JSON.stringify(bundleVersion)); + } +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/ets/pages/Index.ets b/ResourceManagement/RawFile/entry/src/main/ets/pages/Index.ets new file mode 100644 index 000000000..58cec6563 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the 'License'); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// [Start native_rawfile_guide_sample] +import { util } from '@kit.ArkTS'; +import { resourceManager } from '@kit.LocalizationKit'; +import testNapi from 'libentry.so'; // 导入so + +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + private resMgr = this.getUIContext().getHostContext()?.resourceManager; // 获取本应用包的资源对象 + @State rawfileListMsg: string = 'FileList = '; + @State retMsg: string = 'isRawDir = '; + @State rawfileContentMsg: string = 'RawFileContent = '; + @State rawfileDescriptorMsg: string = 'RawFileDescriptor.length = '; + + build() { + Row() { + Column() { + Text(this.message) + .id('hello_world') + .fontSize(30) + .fontWeight(FontWeight.Bold) + .onClick(async () => { + // 传入资源管理对象,以及访问的rawfile文件夹名称 + let rawFileList: Array = testNapi.getFileList(this.resMgr, ''); + this.rawfileListMsg = 'FileList = ' + rawFileList; + console.log(this.rawfileListMsg); + + let ret: boolean = testNapi.isRawDir(this.resMgr, 'subrawfile'); + this.retMsg = 'isRawDir = ' + ret; + console.log(this.retMsg); + + // 传入资源管理对象,以及访问的rawfile文件夹名称 + let rawfileArray: Uint8Array = testNapi.getRawFileContent(this.resMgr, 'rawfile1.txt'); + // 将Uint8Array转为字符串 + let textDecoder: util.TextDecoder = new util.TextDecoder(); + let rawfileContent: string = textDecoder.decodeToString(rawfileArray); + this.rawfileContentMsg = 'RawFileContent = ' + rawfileContent; + console.log(this.rawfileContentMsg); + + // 传入资源管理对象,以及访问的rawfile文件名称 + let rawfileDescriptor: resourceManager.RawFileDescriptor = + testNapi.getRawFileDescriptor(this.resMgr, 'rawfile1.txt'); + this.rawfileDescriptorMsg = 'RawFileDescriptor.length = ' + rawfileDescriptor.length; + console.log(this.rawfileDescriptorMsg); + }) + Text(this.rawfileListMsg).id('get_file_list').fontSize(30); + Text(this.retMsg).id('is_raw_dir').fontSize(30); + Text(this.rawfileContentMsg).id('get_raw_file_content').fontSize(30); + Text(this.rawfileDescriptorMsg).id('get_raw_file_descriptor').fontSize(30); + } + .width('100%') + } + .height('100%') + } +} + +// [End native_rawfile_guide_sample] \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/module.json5 b/ResourceManagement/RawFile/entry/src/main/module.json5 new file mode 100644 index 000000000..4144486d1 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/module.json5 @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:layered_image", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ], + "extensionAbilities": [ + { + "name": "EntryBackupAbility", + "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets", + "type": "backup", + "exported": false, + "metadata": [ + { + "name": "ohos.extension.backup", + "resource": "$profile:backup_config" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/resources/base/element/color.json b/ResourceManagement/RawFile/entry/src/main/resources/base/element/color.json new file mode 100644 index 000000000..3c712962d --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/resources/base/element/string.json b/ResourceManagement/RawFile/entry/src/main/resources/base/element/string.json new file mode 100644 index 000000000..4f99809f4 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "RawFile" + } + ] +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/resources/base/media/background.png b/ResourceManagement/RawFile/entry/src/main/resources/base/media/background.png new file mode 100644 index 0000000000000000000000000000000000000000..f939c9fa8cc8914832e602198745f592a0dfa34d GIT binary patch literal 57364 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 A4*&oF literal 0 HcmV?d00001 diff --git a/ResourceManagement/RawFile/entry/src/main/resources/base/media/foreground.png b/ResourceManagement/RawFile/entry/src/main/resources/base/media/foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..4483ddad1f079e1089d685bd204ee1cfe1d01902 GIT binary patch literal 12430 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 cSLciz6AsI{U0tD9;7S&f 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

c)ijgxDm}8EsRXFt3h@+Ufr7@DN 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 literal 0 HcmV?d00001 diff --git a/ResourceManagement/RawFile/entry/src/main/resources/base/profile/backup_config.json b/ResourceManagement/RawFile/entry/src/main/resources/base/profile/backup_config.json new file mode 100644 index 000000000..78f40ae7c --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/resources/base/profile/backup_config.json @@ -0,0 +1,3 @@ +{ + "allowToBackupRestore": true +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/resources/base/profile/main_pages.json b/ResourceManagement/RawFile/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 000000000..1898d94f5 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "pages/Index" + ] +} diff --git a/ResourceManagement/RawFile/entry/src/main/resources/en_US/element/string.json b/ResourceManagement/RawFile/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 000000000..4f99809f4 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "RawFile" + } + ] +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/resources/rawfile/rawfile.txt b/ResourceManagement/RawFile/entry/src/main/resources/rawfile/rawfile.txt new file mode 100644 index 000000000..9b25a452b --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/resources/rawfile/rawfile.txt @@ -0,0 +1 @@ +rawfile1 content \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/resources/rawfile/rawfile1.txt b/ResourceManagement/RawFile/entry/src/main/resources/rawfile/rawfile1.txt new file mode 100644 index 000000000..e975e96a8 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/resources/rawfile/rawfile1.txt @@ -0,0 +1 @@ +sdgdfg \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/resources/rawfile/subrawfile/rawfile2.txt b/ResourceManagement/RawFile/entry/src/main/resources/rawfile/subrawfile/rawfile2.txt new file mode 100644 index 000000000..34983e7b1 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/resources/rawfile/subrawfile/rawfile2.txt @@ -0,0 +1 @@ +fdsafsdf \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/main/resources/zh_CN/element/string.json b/ResourceManagement/RawFile/entry/src/main/resources/zh_CN/element/string.json new file mode 100644 index 000000000..30224382c --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "模块描述" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "RawFile" + } + ] +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/ohosTest/ets/test/Ability.test.ets b/ResourceManagement/RawFile/entry/src/ohosTest/ets/test/Ability.test.ets new file mode 100644 index 000000000..0b271712f --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/ohosTest/ets/test/Ability.test.ets @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { describe, expect, it } from '@ohos/hypium'; +import { UIAbility, Want } from '@kit.AbilityKit'; +import { abilityDelegatorRegistry, Driver, ON } from '@kit.TestKit'; + +const TAG = '[Sample_rawfile]'; +const DOMAIN = 0xF811; +const BUNDLE = 'com.samples.rawfile'; +const delegator = abilityDelegatorRegistry.getAbilityDelegator(); + +function sleep(time: number) { + return new Promise((resolve: Function) => setTimeout(resolve, time)); +} + +export default function abilityTest() { + describe('RawFileTest', () => { + it('StartAbility_001', 0, async (done: Function) => { + console.info("uitest: StartAbility_001 begin"); + const want: Want = { + bundleName: BUNDLE, + abilityName: 'EntryAbility', + }; + await delegator.startAbility(want); + await sleep(3000); + const ability: UIAbility = await delegator.getCurrentTopAbility(); + expect(ability.context.abilityInfo.name).assertEqual('EntryAbility'); + done(); + console.info("uitest: StartAbility_001 end"); + }); + + it(BUNDLE + 'clickTest_001', 0, async (done: Function) => { + hilog.info(DOMAIN, TAG, BUNDLE + 'clickTest begin'); + let driver = Driver.create(); + await driver.delayMs(1000); + let Textbutton = await driver.findComponent(ON.id('hello_world')); + Textbutton.click(); + await sleep(3000); + hilog.info(DOMAIN, TAG, BUNDLE + 'clickTest end'); + done(); + }) + + it(BUNDLE + 'getRawFileTest_001', 0, async (done: Function) => { + hilog.info(DOMAIN, TAG, BUNDLE + 'GetFileListTest begin'); + let driver = Driver.create(); + await driver.delayMs(1000); + let fileListText = await driver.findComponent(ON.id('get_file_list')); + expect(await fileListText.getText() === 'FileList = rawfile.txt,rawfile1.txt,subrawfile').assertTrue(); + hilog.info(DOMAIN, TAG, BUNDLE + 'GetFileListTest end'); + done(); + }) + + it(BUNDLE + 'getRawFileTest_002', 0, async (done: Function) => { + hilog.info(DOMAIN, TAG, BUNDLE + 'IsRawDirTest begin'); + let driver = Driver.create(); + await driver.delayMs(1000); + let rawDirText = await driver.findComponent(ON.id('is_raw_dir')); + expect(await rawDirText.getText() === 'isRawDir = true').assertTrue(); + hilog.info(DOMAIN, TAG, BUNDLE + 'IsRawDirTest end'); + done(); + }) + + it(BUNDLE + 'getRawFileTest_003', 0, async (done: Function) => { + hilog.info(DOMAIN, TAG, BUNDLE + 'GetRawFileContentTest begin'); + let driver = Driver.create(); + await driver.delayMs(1000); + let fileContentText = await driver.findComponent(ON.id('get_raw_file_content')); + expect(await fileContentText.getText() === 'RawFileContent = sdgdfg').assertTrue(); + hilog.info(DOMAIN, TAG, BUNDLE + 'GetRawFileContentTest end'); + done(); + }) + + it(BUNDLE + 'getRawFileTest_004', 0, async (done: Function) => { + hilog.info(DOMAIN, TAG, BUNDLE + 'GetRawFileDescriptor begin'); + let driver = Driver.create(); + await driver.delayMs(1000); + let fileDescriptorText = await driver.findComponent(ON.id('get_raw_file_descriptor')); + expect(await fileDescriptorText.getText() === 'RawFileDescriptor.length = 6').assertTrue(); + hilog.info(DOMAIN, TAG, BUNDLE + 'GetRawFileDescriptor end'); + done(); + }) + }) +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/ohosTest/ets/test/List.test.ets b/ResourceManagement/RawFile/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 000000000..1eac52fce --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import abilityTest from './Ability.test'; + +export default function testsuite() { + abilityTest(); +} \ No newline at end of file diff --git a/ResourceManagement/RawFile/entry/src/ohosTest/module.json5 b/ResourceManagement/RawFile/entry/src/ohosTest/module.json5 new file mode 100644 index 000000000..c3fd9dda3 --- /dev/null +++ b/ResourceManagement/RawFile/entry/src/ohosTest/module.json5 @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "module": { + "name": "entry_test", + "type": "feature", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false + } +} diff --git a/ResourceManagement/RawFile/hvigor/hvigor-config.json5 b/ResourceManagement/RawFile/hvigor/hvigor-config.json5 new file mode 100644 index 000000000..a2c44fdf8 --- /dev/null +++ b/ResourceManagement/RawFile/hvigor/hvigor-config.json5 @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "modelVersion": "5.0.0", + "dependencies": { + }, + "execution": { + // "analyze": "normal", /* Define the build analyze mode. Value: [ "normal" | "advanced" | false ]. Default: "normal" */ + // "daemon": true, /* Enable daemon compilation. Value: [ true | false ]. Default: true */ + // "incremental": true, /* Enable incremental compilation. Value: [ true | false ]. Default: true */ + // "parallel": true, /* Enable parallel compilation. Value: [ true | false ]. Default: true */ + // "typeCheck": false, /* Enable typeCheck. Value: [ true | false ]. Default: false */ + }, + "logging": { + // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ + }, + "debugging": { + // "stacktrace": false /* Disable stacktrace compilation. Value: [ true | false ]. Default: false */ + }, + "nodeOptions": { + // "maxOldSpaceSize": 8192 /* Enable nodeOptions maxOldSpaceSize compilation. Unit M. Used for the daemon process. Default: 8192*/ + // "exposeGC": true /* Enable to trigger garbage collection explicitly. Default: true*/ + } +} diff --git a/ResourceManagement/RawFile/hvigorfile.ts b/ResourceManagement/RawFile/hvigorfile.ts new file mode 100644 index 000000000..bdda2ce8c --- /dev/null +++ b/ResourceManagement/RawFile/hvigorfile.ts @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { appTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/ResourceManagement/RawFile/oh-package.json5 b/ResourceManagement/RawFile/oh-package.json5 new file mode 100644 index 000000000..b7f346f7d --- /dev/null +++ b/ResourceManagement/RawFile/oh-package.json5 @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +{ + "modelVersion": "5.0.0", + "description": "Please describe the basic information.", + "dependencies": { + }, + "devDependencies": { + "@ohos/hypium": "1.0.18", + "@ohos/hamock": "1.0.0" + } +} diff --git a/ResourceManagement/RawFile/ohosTest.md b/ResourceManagement/RawFile/ohosTest.md new file mode 100644 index 000000000..46f28f7b2 --- /dev/null +++ b/ResourceManagement/RawFile/ohosTest.md @@ -0,0 +1,12 @@ +# RM.002 【资源管理】开发指南示例代码源码工程开源Sample仓-设计文档 + +## 用例表 + +| 测试功能 | 预置条件 | 输入 | 预期输出 | 是否自动 | 测试结果 | +| -------------------- | ------------ | -------- | ----------------------------- | -------- | -------- | +| 拉起应用 | 设备正常运行 | | 成功拉起应用 | 是 | Pass | +| 主页点击 | 位于主页 | 点击文本 | 打印log日志,改变主页文本显示 | 是 | Pass | +| 资源文件列表显示 | 位于主页 | | 显示资源文件列表 | 是 | Pass | +| 是否位于资源目录显示 | 位于主页 | | 显示资源文件是否位于资源目录 | 是 | Pass | +| 资源文件内容显示 | 位于主页 | | 显示资源文件内容 | 是 | Pass | +| 资源文件描述符显示 | 位于主页 | | 显示资源文件描述符 | 是 | Pass | diff --git a/ResourceManagement/RawFile/screenshots/.gitkeep b/ResourceManagement/RawFile/screenshots/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/ResourceManagement/RawFile/screenshots/RawFile_Index1.png b/ResourceManagement/RawFile/screenshots/RawFile_Index1.png new file mode 100644 index 0000000000000000000000000000000000000000..9aefe5e417ea808a82163e3a20d926a5753a821e GIT binary patch literal 35806 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 ATmS$7 literal 0 HcmV?d00001 diff --git a/ResourceManagement/RawFile/screenshots/RawFile_Index2.png b/ResourceManagement/RawFile/screenshots/RawFile_Index2.png new file mode 100644 index 0000000000000000000000000000000000000000..af4629bdf9a5502f7b65efdfa94b278882bee580 GIT binary patch literal 47524 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 literal 0 HcmV?d00001 -- Gitee