項目開發(fā)中經(jīng)常將具有共用性的模塊剝離出來制作成公用庫,以供其他模塊調(diào)用。這樣不但能夠減少項目中的冗余代碼量,而且能夠在一定程度上保證代碼的一致性们童,提高代碼質(zhì)量。
下面就來說一下HarmonyOS開發(fā)中共享包(共用庫)的制作鲸鹦,HarmonyOS提供了靜態(tài)共享包和動態(tài)共享包兩種形式慧库,這里說的是靜態(tài)共享包。
制作靜態(tài)庫
新建靜態(tài)庫.jpg
如圖馋嗜,在新建模塊中選擇靜態(tài)庫齐板,依照ide提示完成新建。
實現(xiàn)共享庫
實現(xiàn)api.jpg
實現(xiàn)共享庫common_lib的功能嵌戈,新建Network.ets覆积,并提供靜態(tài)方法getRequest听皿。注意Network類前面的export關(guān)鍵字熟呛,這表示這個類可以被導(dǎo)出使用。
聲明可導(dǎo)出類
聲明可導(dǎo)出類.jpg
實現(xiàn)完共享庫中需要供外部調(diào)用的功能后尉姨,還需要在Index.ets中進行聲明:
export { Network} from 'xxx/xxx'
庵朝,其中Index.ets是靜態(tài)庫中已有的文件,export中的Network是導(dǎo)出文件名,from后面是引用路徑九府。
引用靜態(tài)庫
項目中引用共享庫.jpg
在需要引用共享庫的模塊中聲明所引用共享庫的信息椎瘟。如圖在oh-package.json5中聲明的引用的共享庫名稱為
common_lib
(該名稱與common_lib庫在其模塊中的名稱相同),并且提供了兩種引用方式侄旬,一種是源碼引用肺蔚,另一種是引用.har靜態(tài)包。這兩種方式都是本地引用的方式儡羔,另外還有在線引用的方式宣羊。
注意.har
靜態(tài)包需要先在common_lib模塊中打包生成.har,具體方式是:選中common_lib - Build - Make Module 'Common_lib'汰蜘,完成后會在build/outputs文件夾下生成har靜態(tài)包仇冯。
生成har.jpg
使用靜態(tài)庫
使用共享庫.jpg
導(dǎo)入靜態(tài)庫之后就可以使用其提供的能力,比如這里調(diào)用了靜態(tài)庫中Network的getRequest方法族操。