開源 Arkts 鴻蒙應用 開發(二)封裝庫.har制作和應用

文章的目的為了記錄使用Arkts?進行Harmony?app?開發學習的經歷。本職為嵌入式軟件開發,公司安排開發app,臨時學習,完成app的開發。開發流程和要點有些記憶模糊,趕緊記錄,防止忘記。

?相關鏈接:

開源 Arkts 鴻蒙應用 開發(一)工程文件分析-CSDN博客

開源 Arkts 鴻蒙應用 開發(二)封裝庫.har制作和應用-CSDN博客

開源 Arkts 鴻蒙應用 開發(三)Arkts的介紹-CSDN博客

開源 Arkts 鴻蒙應用 開發(四)布局和常用控件-CSDN博客

?推薦鏈接:

開源 java android app 開發(一)開發環境的搭建-CSDN博客

開源 java android app 開發(二)工程文件結構-CSDN博客

開源 java android app 開發(三)GUI界面布局和常用組件-CSDN博客

開源 java android app 開發(四)GUI界面重要組件-CSDN博客

開源 java android app 開發(五)文件和數據庫存儲-CSDN博客

開源 java android app 開發(六)多媒體使用-CSDN博客

開源 java android app 開發(七)通訊之Tcp和Http-CSDN博客

開源 java android app 開發(八)通訊之Mqtt和Ble-CSDN博客

開源 java android app 開發(九)后臺之線程和服務-CSDN博客

開源 java android app 開發(十)廣播機制-CSDN博客

開源 java android app 開發(十一)調試、發布-CSDN博客

開源 java android app 開發(十二)封庫.aar-CSDN博客

推薦鏈接:

開源C# .net mvc 開發(一)WEB搭建_c#部署web程序-CSDN博客

開源 C# .net mvc 開發(二)網站快速搭建_c#網站開發-CSDN博客

開源 C# .net mvc 開發(三)WEB內外網訪問(VS發布、IIS配置網站、花生殼外網穿刺訪問)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客

開源 C# .net mvc 開發(四)工程結構、頁面提交以及顯示_c#工程結構-CSDN博客

開源 C# .net mvc 開發(五)常用代碼快速開發_c# mvc開發-CSDN博客

本章節主要講述鴻蒙開發環境時封裝庫.har的制作和應用

內容如下:

1.? .har模塊的制作

2.? .har編寫測試代碼

3.? .har的工程應用

一、?.har模塊的制作,在程序開發中需要將sdk提供給第三方,不讓對方開到源碼的情況。又或者代碼不需要修改,為了加快編譯速度,把代碼封裝為模塊。這個時候就需要制作.har模塊。

1.1? 創建模塊

選擇靜態庫

生成了library模塊

二、.har編寫測試代碼

2.1? 需要注意library模塊中的oh-package.json5配置文件,Index.ets文件是HAR導出聲明文件的入口,HAR需要導出的接口,統一在Index.ets文件中導出。Index.ets文件是DevEco Studio默認自動生成的,用戶也可以自定義,在模塊的oh-package.json5文件中的main字段配置入口聲明文件。

添加文件test.ets

// library/src/main/ts/test.ets
export class classTest {public info(msg: string) {console.info(msg);}
}export function funTest():string{return 'har func';
}

修改MainPage.ets文件的width和height,讓這個組件可以被調用顯示

@Component
export struct MainPage {@State message: string = 'Hello World';build() {Row() {Column() {Text(this.message).fontSize($r('app.float.page_text_font_size')).fontWeight(FontWeight.Bold).onClick(() => {this.message = 'Welcome';})}.width('200')}.height('80')}
}

修改Index.ets,將類和函數引出

生成library.har

三、? .har文件的應用

3.1? 將library.har文件拷貝到測試工程中

3.2? 修改配置文件oh-package.json5添加依賴,并點擊工程同步。

3.3? 在Index.ets中修改代碼,引入library可以使用MainPage組件

import  {MainPage} from 'library'
@Entry
@Component
struct Index {@State message: string = 'Hello World';build() {Row(){MainPage();}}
}

效果為

3.4? 在entryablity.ets中引入 classTest類,就可以調用它的函數了,從而實現封裝庫.har的應用。

3.5? 點擊.info函數,顯示如圖,只能看到函數接口,無法看到實際內容,封裝有效。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85216.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85216.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85216.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt基礎相關

模態對話框和非模態對話框 在一個頁面進行交互時彈出的一個新頁面,新頁面不堵塞舊頁面的交互,這就是非模態對話框。 模態對話框 模態對話框就是當該對話框彈出后會阻塞其他窗口的響應事件,必須先關閉該對話框,其他窗口才會繼續…

《匯編語言:基于X86處理器》第2章 x86處理器架構

本章重點是與 x86 匯編語言相關的底層硬件。有說法認為,匯編語言是直接與機器交流的理想軟件工具。如果是真的,那么匯編程序員就必須非常熟悉處理器的內部結構與功能。本章將討論指令執行時處理器內部發生的一些基本操作,以及操作系統如何加載…

最小生成樹算法的解題思路與 C++ 算法應用

一、最小生成樹算法針對問題類型及概述 先來簡要陳述一下樹的概念:一個由 N N N 個點和 N ? 1 N-1 N?1 條邊組成的無向連通圖。由此,我們可以得知生成樹算法的概念:在一個 N N N 個點的圖中找出一個由 N ? 1 N-1 N?1 條邊組成的樹。…

feign.FeignException$NotFound: [404 ] during [POST] to [http://ti/ti/v1/i/se

feign.FeignException$NotFound: [404 ] during [POST] to [http://ti/ti/v1/i/send 原因:多個地方注冊 FeignClient(name “ti”, path “/ti/v1/i/send/repeat”) 解決:刪除一個即可

Mac m1 通過docker鏡像安裝kafka

kafka依賴zookeeper,因此需要使用docker同時安裝zookeeper和kafka。 macOS的docker在容器和宿主之間無法通過ip直接通信,因此在安裝的時候需要特殊注意與ip相關的設置。當容器需要訪問宿主ip時,需要使用docker.for.mac.host.internal或者host…

01初始uni-app+tabBar+首頁

初始uni-apptabBar首頁 1. uni-app1.1 新建uni-app項目1.2 目錄結構1.3 把項目配置運行到微信開發者工具 2. tabBar3.1 首頁3.1 配置網絡請求3.2 輪播圖區域3.3 分類導航區域3.4 樓層區域 1. uni-app ? uni-app 是使用 Vue.js 開發前端應用的框架。開發者編寫一套代碼&#x…

微信小程序,微信授權手機號碼

uniapp中index.vue: <template><view class"content"><button open-type"getPhoneNumber" getphonenumber"getPhoneNumber"type"primary">授權手機號登錄 </button></view></template><scrip…

數據結構 學習 圖 2025年6月14日 12點57分

搜索算法 深度優先搜索 一種用于遍歷或搜索樹或圖的算法。它沿著樹的深度遍歷樹的節點&#xff0c;盡可能深的搜索樹的分支。 DFS核心思想 深度優先&#xff1a;盡可能深地搜索樹的分支 回溯思想&#xff1a;當節點v的所在邊都已被探尋過&#xff0c;搜索將回溯到發現節點v的…

H3C路由器使用PBR 實現兩條互聯網專線互為備份

實驗拓撲 圖 1-1 注&#xff1a;如無特別說明&#xff0c;描述中的 R1 或 SW1 對應拓撲中設備名稱末尾數字為 1 的設備&#xff0c;R2 或 SW2 對應拓撲中設備名稱末尾數字為 2 的設備&#xff0c;以此類推&#xff1b;另外&#xff0c;同一網段中&#xff0c;IP 地址的主機位為…

深化信創生態布局!聚銘網絡與海量數據完成產品兼容性互認證

近日&#xff0c;聚銘網絡成功與海量數據完成了一系列產品的兼容性互認證&#xff0c;并獲得了由海量數據頒發的產品兼容互認證書。這一成就標志著雙方在技術整合方面邁出了重要一步。 經過全面嚴格的測試&#xff0c;聚銘網絡自主研發的安全系列產品&#xff0c;包括聚銘下一…

Unity AR+ 百度AI 實現 物體識別與對應英文翻譯

一、前言 我目前實現了拍照保存到手機的功能 我想進一步優化&#xff0c;實現通過手機攝像頭實時識別眼前的物體&#xff0c;顯示對應的英文的功能。 1.項目技術棧&#xff1a;Unity 2022.3.53 Vuforia 11 百度物體識別API 百度翻譯API 2.功能目標&#xff1a;使用手機攝像…

Vue.js第二節

計算屬性、事件綁定、條件判斷、遍歷循環 計算屬性&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

從開源代碼入場無人機學術研究到商業化市場的全路徑指南-優雅草卓伊凡

從開源代碼入場無人機學術研究到商業化市場的全路徑指南-優雅草卓伊凡 引言&#xff1a;開源代碼在無人機研究中的重要性 優雅草卓伊凡在這里告訴大家&#xff0c;如果真的要開始進入無人機領域&#xff0c;我們需要一步步開始研究。目前先去看看開源無人機代碼是尤為重要的&…

window11中開啟ubuntu22.04子系統

一、啟用Windows子系統 打開控制面板 選擇程序然后點擊“啟用或關閉Windows功能” 勾選如下2項&#xff0c;點擊確定 二、安裝內核升級包 打開鏈接https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi下載內核升級包&#xff0c;打開后安裝、重啟電腦…

80Qt窗口_對話框

目錄 5. 對話框 5.1 對話框介紹 用例1&#xff1a; 用例2&#xff1a; 用例3&#xff1a; 用例4&#xff1a; 5.2 對話框的分類 5.2.1 模態對話框 5.2.2 ?模態對話框 5. 對話框 5.1 對話框介紹 對話框是 GUI 程序中不可或缺的組成部分。?些不適合在主窗?實現的功…

Pyenv 跟 Conda 還有 Poetry 有什么區別?各有什么不同?

pyenv、Conda 和 Poetry 是 Python 生態中常用的工具&#xff0c;但它們的核心功能和用途不同&#xff0c;通常可以結合使用。以下是它們的區別和特點&#xff1a; 1. pyenv 用途&#xff1a;管理多個 Python 解釋器版本。 核心功能&#xff1a; 安裝不同版本的 Python&#x…

數學符號和標識中英文列表(含義與示例)

數學符號和標識的參考&#xff0c;涵蓋了數學的各個主要分支&#xff0c;并提供清晰的定義和示例&#xff0c;方便快速查找和學習收藏。 目錄 基礎數學符號幾何符號代數符號線性代數符號概率與統計符號集合論符號邏輯符號微積分與分析符號數字與字母符號 特點 中英對照&…

「Java流程控制」switch結構

知識點解析 1.switch結構的核心概念 switch語句是一種多分支選擇結構,它根據表達式的值來選擇執行不同的代碼塊。與if-else結構相比,switch更適合處理離散的、有限個值的比較。 2.switch結構的基本語法 switch (表達式) {case 值1:// 代碼塊1[break;]case 值2:// 代碼塊…

從0開始學習R語言--Day27--空間自相關

有的時候&#xff0c;我們在數據進行分組時&#xff0c;會發現用正常的聚類分析的方法和思維&#xff0c;分組的情況不是很理想。其實這是因為我們常常會忽略一個問題&#xff1a;假設我們正在分析的數據是真實的&#xff0c;那么它也肯定在一定程度上符合客觀規律。而如果我們…

Excel將表格文件由寬數據轉為長數據的方法

本文介紹基于Excel軟件的Power Query模塊&#xff0c;實現表格數據由寬數據轉為長數據的具體方法。 長數據和寬數據是數據分析中的2種基本數據組織形式&#xff0c;二者在結構、用途、適用場景等方面各有特點。其中&#xff0c;寬數據 &#xff08;Wide Format&#xff09;以“…