diff --git a/code/DocsSample/ResourceManagement/RawFile/entry/src/main/cpp/hello.cpp b/code/DocsSample/ResourceManagement/RawFile/entry/src/main/cpp/hello.cpp index 1d58203ddddd2e86a246378862216efc561f0874..68e28c033f449437eb0a55ba233785b0b10bf484 100644 --- a/code/DocsSample/ResourceManagement/RawFile/entry/src/main/cpp/hello.cpp +++ b/code/DocsSample/ResourceManagement/RawFile/entry/src/main/cpp/hello.cpp @@ -13,6 +13,7 @@ * limitations under the License. */ +// [Start includes] #include #include #include @@ -24,10 +25,14 @@ #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) { @@ -74,7 +79,9 @@ static napi_value GetFileList(napi_env env, napi_callback_info info) OH_ResourceManager_ReleaseNativeResourceManager(mNativeResMgr); return fileList; } +// [End example_get_file_list] +// [Start helper_create_js_array] // 示例二:获取rawfile文件内容 GetRawFileContent napi_value CreateJsArrayValue(napi_env env, std::unique_ptr &data, long length) { @@ -99,7 +106,9 @@ napi_value CreateJsArrayValue(napi_env env, std::unique_ptr &data, lo data.release(); return result; } +// [End helper_create_js_array] +// [Start example_get_rawfile_content] static napi_value GetRawFileContent(napi_env env, napi_callback_info info) { OH_LOG_Print(LOG_APP, LOG_ERROR, GLOBAL_RESMGR, TAG, "GetFileContent Begin"); @@ -134,7 +143,9 @@ static napi_value GetRawFileContent(napi_env env, napi_callback_info info) // 转为js对象 return CreateJsArrayValue(env, data, len); } +// [End example_get_rawfile_content] +// [Start helper_create_file_descriptor] // 示例三:获取rawfile文件描述符 GetRawFileDescriptor // 定义一个函数,将RawFileDescriptor转为js对象 napi_value createJsFileDescriptor(napi_env env, RawFileDescriptor& descriptor) @@ -180,7 +191,9 @@ napi_value createJsFileDescriptor(napi_env env, RawFileDescriptor& descriptor) } return result; } +// [End helper_create_file_descriptor] +// [Start example_get_rawfile_descriptor] static napi_value GetRawFileDescriptor(napi_env env, napi_callback_info info) { OH_LOG_Print(LOG_APP, LOG_ERROR, GLOBAL_RESMGR, TAG, "NDKTest GetRawFileDescriptor Begin"); @@ -212,7 +225,9 @@ static napi_value GetRawFileDescriptor(napi_env env, napi_callback_info info) // 转为js对象 return createJsFileDescriptor(env, descriptor); } +// [End example_get_rawfile_descriptor] +// [Start helper_create_js_bool] napi_value CreateJsBool(napi_env env, bool &bValue) { napi_value jsValue = nullptr; @@ -221,7 +236,9 @@ napi_value CreateJsBool(napi_env env, bool &bValue) } return jsValue; } +// [End helper_create_js_bool] +// [Start example_is_raw_dir] static napi_value IsRawDir(napi_env env, napi_callback_info info) { OH_LOG_Print(LOG_APP, LOG_ERROR, GLOBAL_RESMGR, TAG, "NDKTest IsRawDir Begin"); @@ -251,7 +268,9 @@ static napi_value IsRawDir(napi_env env, napi_callback_info info) 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) { @@ -281,4 +300,4 @@ extern "C" __attribute__((constructor)) void RegisterEntryModule(void) { napi_module_register(&demoModule); } - +// [End module_registration] diff --git a/code/DocsSample/ResourceManagement/RawFile/entry/src/main/ets/pages/Index.ets b/code/DocsSample/ResourceManagement/RawFile/entry/src/main/ets/pages/Index.ets index 7488f398e15d8bde8ad42ea9f7e2c7fc0846d8a5..959aad02f62d1b80b3c4ea6ba9ebda5c4f4e7403 100644 --- a/code/DocsSample/ResourceManagement/RawFile/entry/src/main/ets/pages/Index.ets +++ b/code/DocsSample/ResourceManagement/RawFile/entry/src/main/ets/pages/Index.ets @@ -12,10 +12,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +// [Start imports_NAPI] import hilog from '@ohos.hilog'; import testNapi from 'libentry.so'; // 导入so +// [End imports_NAPI] +// [Start class_raw_file_descriptor] class RawFileDescriptor { fd: number; offset: number; @@ -27,17 +29,22 @@ class RawFileDescriptor { this.length = length; } } +// [End class_raw_file_descriptor] +// [Start entry_component] @Entry @Component struct Index { +// [Start state_variables] @State message: string = 'Hello World'; private resmgr = getContext().resourceManager; // 获取本应用包的资源对象 @State rawfilelistMsg: string = 'FileList = '; @State retMsg: string = 'isRawDir = '; @State rawfileContetMsg: string = 'RawFileContent = '; @State rawfileDescriptorMsg: string = 'RawFileDescriptor.length = '; - +// [End state_variables] + +// [Start build_method] build() { Row() { Column() { @@ -45,26 +52,38 @@ struct Index { .id('hello_world') .fontSize(30) .fontWeight(FontWeight.Bold) + // [Start click_handler] .onClick(async () => { hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); console.log('rawfilelist'); let rawfilelist = testNapi.getFileList(this.resmgr, ''); // 传入资源对象,以及访问的rawfile文件夹名称 - console.log('rawfilelist:' + rawfilelist); + console.log('rawfilelist:' + rawfilelist); + // [Start get_file_list] + console.log('rawfilelist:' + rawfilelist); this.rawfilelistMsg = 'FileList = ' + rawfilelist; + this.rawfilelistMsg = 'FileList = ' + rawfilelist; + // [End get_file_list] + // [Start is_raw_dir] let ret = testNapi.isRawDir(this.resmgr, 'rawfile1.txt'); console.log('isRawDir:' + ret); this.retMsg = 'isRawDir = ' + ret; + // [End is_raw_dir] + // [Start get_raw_file_content] let rawfileContet = testNapi.getRawFileContent(this.resmgr, 'rawfile1.txt'); console.log('rawfileContet:' + rawfileContet); this.rawfileContetMsg = 'RawFileContent = ' + rawfileContet; + // [End get_raw_file_content] + // [Start get_raw_file_descriptor] let rawfileDescriptor = (testNapi.getRawFileDescriptor(this.resmgr, 'rawfile1.txt') as RawFileDescriptor); console.log('RawFileDescriptor:' + rawfileDescriptor.fd, rawfileDescriptor.offset, rawfileDescriptor.length); this.rawfileDescriptorMsg = 'RawFileDescriptor.length = ' + rawfileDescriptor.length; + // [End get_raw_file_descriptor] }) + // [End click_handler] Text(this.rawfilelistMsg).id('get_file_list').fontSize(30); Text(this.retMsg).id('is_raw_dir').fontSize(30); Text(this.rawfileContetMsg).id('get_raw_file_content').fontSize(30); @@ -74,4 +93,6 @@ struct Index { } .height('100%') } -} \ No newline at end of file +// [End build_method] +} +// [End entry_component] \ No newline at end of file