資料相關(guān)
鴻蒙文檔中心
鴻蒙論壇
鴻蒙社區(qū)
鴻蒙開(kāi)發(fā)者學(xué)堂-華為認(rèn)證
OpenHarmony三方庫(kù)中心倉(cāng)
鴻蒙CodeLab(示例項(xiàng)目)
鴻蒙API參考
ArkUI參考文檔
項(xiàng)目相關(guān)
三方庫(kù)管理工具名: ohpm
三方庫(kù)依賴(lài)配置文件名:oh-package.json5
ohpm指令
配置說(shuō)明: https://zhuanlan.zhihu.com/p/683109843
系統(tǒng)權(quán)限
- 網(wǎng)絡(luò)權(quán)限配置: module.json5下配置
{
"module": {
"requestPermissions": [
{
"name": "ohos.permission.INTERNET"
}
]
}
}
DevEco操作
操作 | 功能路徑 | 快捷鍵 |
---|---|---|
全局搜索 | 編輯->查找->在文件中查找... | Command+Shift+F |
全局替換 | 編輯->查找->在文件中替換... | Command+Shift+R |
搜索文件/配置 | 編輯器右上角搜索按鈕 | Double ? |
裝飾器 https://cloud.tencent.com/developer/article/2371806
裝飾器 | 功能 | 修飾對(duì)象 | 詳解 |
---|---|---|---|
@Entry | 標(biāo)記一個(gè)頁(yè)面的入口,一個(gè)頁(yè)面有且僅能有一個(gè)@Entry | struct / class | |
@Component | 標(biāo)記一個(gè)UI組件 | struct / class | |
@Preview | |||
@Observed | |||
@State | |||
@Prop | |||
@Link | |||
@Watch | |||
@Provide | |||
@Consume | |||
@ObjectLink | |||
@Builder | 自定義構(gòu)建函數(shù) | 函數(shù) | 局部不需要 function会通,全局需要 function 關(guān)鍵字 |
@Style | |||
@Extend |
頁(yè)面生命周期
method | 時(shí)機(jī) | 修飾器 |
---|---|---|
onPageShow | 頁(yè)面每次顯示時(shí)觸發(fā) | @Entry |
onPageHide | 頁(yè)面每次隱藏時(shí)觸發(fā)一次 | @Entry |
onBackPress | 當(dāng)用戶(hù)點(diǎn)擊返回按鈕時(shí)觸發(fā) | @Entry |
aboutToAppear | 組件即將出現(xiàn)時(shí)執(zhí)行口予,build函數(shù)執(zhí)行之前 | @Component |
aboutToDisappear | 組件即將析構(gòu)銷(xiāo)毀時(shí)執(zhí)行 | @Component |
UIAbility生命周期
method | 時(shí)機(jī) |
---|---|
Create | 應(yīng)用加載過(guò)程中,UIAbility實(shí)例創(chuàng)建完成時(shí)觸發(fā)渴语, |
Foreground | UIAbility實(shí)例切換至前臺(tái)時(shí) 觸發(fā) |
Background | UIAbility實(shí)例切換至后臺(tái)時(shí) 觸發(fā) |
Destroy | UIAbility實(shí)例銷(xiāo)毀時(shí)觸發(fā) |
如何存放與獲取圖片等資源
參考官方文檔:資源分類(lèi)與訪(fǎng)問(wèn)
資源存放位置
resources
|---base
| |---element
| | |---string.json
| |---media /// # 圖片資源放該目錄下
| | |---icon.png
| |---profile
| | |---test_profile.json
|---en_US // 默認(rèn)存在的目錄,設(shè)備語(yǔ)言環(huán)境是美式英文時(shí)昆咽,優(yōu)先匹配此目錄下資源
| |---element
| | |---string.json
| |---media
| | |---icon.png
| |---profile
| | |---test_profile.json
|---zh_CN // 默認(rèn)存在的目錄驾凶,設(shè)備語(yǔ)言環(huán)境是簡(jiǎn)體中文時(shí),優(yōu)先匹配此目錄下資源
| |---element
| | |---string.json
| |---media
| | |---icon.png
| |---profile
| | |---test_profile.json
|---en_GB-vertical-car-mdpi // 自定義限定詞目錄示例掷酗,由開(kāi)發(fā)者創(chuàng)建
| |---element
| | |---string.json
| |---media
| | |---icon.png
| |---profile
| | |---test_profile.json
|---rawfile // 其他類(lèi)型文件调违,原始文件形式保存,不會(huì)被集成到resources.index文件中泻轰。文件名可自定義技肩。
資源訪(fǎng)問(wèn)
對(duì)于應(yīng)用資源,在工程中浮声,通過(guò)"$r('app.type.name')"形式引用虚婿。其中,app為應(yīng)用內(nèi)resources目錄中定義的資源泳挥;type為資源類(lèi)型或資源的存放位置然痊,取值包含“color”、“float”屉符、“string”剧浸、“plural”锹引、“media”;name為資源命名唆香,由開(kāi)發(fā)者定義資源時(shí)確定嫌变。
常用組件(三方/鴻蒙)
- axios:第三方網(wǎng)絡(luò)請(qǐng)求框架
- wtr:加載彈框、消息彈框躬它、下拉刷新腾啥、上拉加載(不支持Api9)
- ImageKnife:第三方圖片加載緩存庫(kù)
- MaterialProgressBar:第三方組件自定義進(jìn)度條
- zxing:解析和生成二維碼的庫(kù)
注意項(xiàng)
- 項(xiàng)目路徑上不可以有中文,如項(xiàng)目所在文件夾名為“鴻蒙”虑凛,將導(dǎo)致無(wú)法使用DevEco Studio打開(kāi)項(xiàng)目碑宴。
- 非自建項(xiàng)目運(yùn)行起來(lái),需要先在build-profile.json5文件中清空 signingConfigs 參數(shù)為[]桑谍,然后重新登錄簽名延柠。
點(diǎn)擊DevEco Studio 菜單欄中的File(文件) -> Project Structure(項(xiàng)目結(jié)構(gòu)),選擇Project锣披,在Signing Configs 頁(yè)面配置簽名信息贞间。
3.新增Page頁(yè)面,使用之前須先在resources/base/profile/main_pages.json下的src數(shù)組中注冊(cè)page雹仿, 注冊(cè)所處的文件profile/main_pages.json可能是自定義增热,在module.json5下可查到注冊(cè)page的json文件
{
"module": {
// ...
"pages": "$profile:main_pages", // 通過(guò)profile下的資源文件配置
}
}
4.dataPreferences數(shù)據(jù)存儲(chǔ)后重新run項(xiàng)目獲取為空
Deveco-Studio默認(rèn)運(yùn)行配置是,每次都執(zhí)行卸載重裝胧辽,所以不會(huì)有上一次緩存的數(shù)據(jù)峻仇。
處理:修改運(yùn)行時(shí)配置,勾選 Keep Application Data