精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenHarmony API聲明文件探究

系統(tǒng) OpenHarmony
使用DevEco開發(fā)OpenHarmony應(yīng)用的小伙伴是不是經(jīng)常發(fā)現(xiàn),那么跟著我一起來探究下OpenHarmony的聲明文件吧。

??想了解更多內(nèi)容,請?jiān)L問:??

??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??

??https://harmonyos.51cto.com??

使用DevEco開發(fā)OpenHarmony應(yīng)用的小伙伴是不是經(jīng)常發(fā)現(xiàn),明明OpenHarmony提供了接口支持,但是IDE卻沒有任何提示,甚至出現(xiàn)報(bào)錯(cuò),需要使用忽略大法@ts-ignore才能使開發(fā)流程不被堵塞。

那么跟著我一起來探究下OpenHarmony的聲明文件吧。

查看OpenHarmony API的聲明文件也是輔助了解OpenHarmony接口能力的好方法。(但API不一定是全部被實(shí)現(xiàn)的)

API聲明文件公共倉

公共倉地址:https://gitee.com/openharmony/interface_sdk-js/tree/master

選擇當(dāng)前系統(tǒng)對應(yīng)的版本,這里我的版本是3.1beta。

進(jìn)入api文件夾即可看到聲明文件。

DevEco聲明文件

文件位置:

  • [OpenHarmony SDK文件夾]\ets\3.1.0.0\api\common
  • [OpenHarmony SDK文件夾]\js\3.1.0.0\api\phone

typescript聲明文件

聲明文件以 .d.ts 結(jié)尾,里面主要用來定義類型。

TypeScript 身為 JavaScript 的超集,自然需要考慮到如何讓 JS 庫也能定義靜態(tài)類型。所以TypeScript 提出了DefinitelyTyped。

DefinitelyTyped就是讓你把 “類型定義文件(*.d.ts)”,配合編輯器(或插件),就能夠檢測到 JS 庫中的靜態(tài)類型。

export和import聲明會導(dǎo)出或?qū)肽繕?biāo)的所有含義。

如何讀聲明文件

我們來看@ohos.resourceManager.d.ts這個(gè)文件。

  • 公共倉:https://gitee.com/openharmony/interface_sdk-js/blob/OpenHarmony-3.1-Beta/api/@ohos.resourceManager.d.ts
  • 本地:[OpenHarmony SDK文件夾]\ets\3.1.0.0\api\common@ohos.resourceManager.d.ts
  • 同時(shí)可以結(jié)合HarmonyOS的文檔進(jìn)行閱讀:
  • https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-resource-manager-0000001200042191

declare

聲明變量使用關(guān)鍵字declare來表示聲明其后面的全局變量的類型。

declare namespace resmgr {
...
}
export default resmgr;

引入該模塊。

import resmgr from '@ohos.resourceManager';

引入該模塊會發(fā)現(xiàn)報(bào)錯(cuò)了。

查看錯(cuò)誤:

我們?nèi)サ絊DK文件夾下檢查文件@ohos.resourceManager.d.ts,會發(fā)現(xiàn)末尾少寫了個(gè)大括號。

  ...  
} //這里添上一個(gè)大括號
}
export default resmgr;

重啟DevEco,發(fā)現(xiàn)報(bào)錯(cuò)不見了,那么我們繼續(xù)。

namespace

命名空間定義了標(biāo)識符的可見范圍。

一般來說,如果我們需要在外部可以調(diào)用resmgr中的類和接口,則需要在類和接口添加export關(guān)鍵字。

但是resmgr在DevEco中反而找不到任何提示。推測對于DevEco,namespace內(nèi)使用export是錯(cuò)誤的。

我們將@ohos.resourceManager.d.ts中namespace中的export關(guān)鍵字全部去掉,重啟DevEco,現(xiàn)在提示都出來了。

我們可以看到一般在命名空間內(nèi)會定義以下幾種類型。

// 枚舉
enum Direction {
...
}
// 類
class Configuration {
...
}
// 接口
interface ResourceManager {
...
}
// 方法
function getResourceManager(bundleName: string, callback: AsyncCallback<ResourceManager>);

函數(shù)重載

重載允許一個(gè)函數(shù)接受不同數(shù)量或類型的參數(shù)時(shí),作出不同的處理。

在聲明文件中我們可以看到這樣的一個(gè)方法:

// 獲取當(dāng)前應(yīng)用的資源管理對象,使用callback形式返回ResourceManager對象。
export function getResourceManager(callback: AsyncCallback<ResourceManager>);
// 獲取當(dāng)前應(yīng)用的資源管理對象,使用Promise形式返回ResourceManager對象。
export function getResourceManager(): Promise<ResourceManager>;

實(shí)際上我們可以看到這兩個(gè)方法實(shí)現(xiàn)的是同一個(gè)能力,只是使用形式不同。

這里要特別說明一下在所有聲明文件當(dāng)中隨處可見的兩個(gè)接口:

  • AsyncCallback
  • Promise

AsyncCallback接口定義

interface AsyncCallback<T> {
(err: Error, data: T): void;
}

調(diào)用getResourceManager(callback: AsyncCallback)

resourceManager.getResourceManager((error, mgr) => {
//成功時(shí), error返回undefined
if (error != null) {
console.log("error occurs" + error);
return;
}
console.log("mgr ready")
});

調(diào)用getResourceManager(): Promise

resourceManager.getResourceManager().then(mgr => {
console.log("mgr ready")
}).catch(error => {
console.log("error occurs" + error);
});
// 或者
try{
let mgr = await resmgr.getResourceManager()
}catch(error){
console.log("error occurs" + error);
}

basic.d.ts

在這個(gè)文件里定義了幾個(gè)常用接口

export interface Callback<T> {
(data: T): void;
}
export interface ErrorCallback<T extends Error = BusinessError> {
(err: T): void;
}
export interface AsyncCallback<T> {
(err: BusinessError, data: T): void;
}
export interface BusinessError extends Error {
code: number;
}

我們來看@ohos.bundle.d.ts文件

// 導(dǎo)入basic聲明接口
import { AsyncCallback, Callback } from './basic';
...
// 聲明方法
function getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback<BundleInfo>): void;

為DevEco添加聲明文件

OpenHarmony支持顯示設(shè)備屬性@ohos.display,但是卻沒有為display添加聲明文件。

那么我們自己來寫一個(gè)@ohos.display.d.ts文件。

首先在[OpenHarmony SDK文件夾]\ets\3.1.0.0\api\common新建文件@ohos.display.d.ts。

導(dǎo)出一個(gè)命名空間display

declare namespace display { 
}
export default display;

通過之前使用測試,我們發(fā)現(xiàn)OpenHarmony只支持display的getDefaultDisplay方法,該方法使用Promise形式返回一個(gè)Display對象。

Display對象只支持兩個(gè)可讀屬性width和height。

interface Display {
readonly width: number;
readonly height: number;
}

getDefaultDisplay方法的定義

function getDefaultDisplay(): Promise<Display>;

那么完整的@ohos.display.d.ts

declare namespace display {
function getDefaultDisplay(): Promise<Display>;
interface Display {
readonly width: number;
readonly height: number;
}
}
export default display;

保存,重新啟動DevEco。

  • 注意:
  • 不要直接拷貝HarmonyOS SDK的@ohos.display.d.ts文件,因?yàn)樘郞penHarmony沒有支持了。
  • js開發(fā)則需要在[OpenHarmony SDK文件夾]\js\3.1.0.0\api\phone添加@ohos.display.d.ts文件

現(xiàn)在報(bào)錯(cuò)沒有了,來使用API看看吧。

提示都出來啦~

打印一個(gè)分辨率在開發(fā)板上試試:

display.getDefaultDisplay().then(dis => {
console.log('[DEMO]width:' + dis.width)
console.log('[DEMO]height:' + dis.height)
})

 

??想了解更多內(nèi)容,請?jiān)L問:??

??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??

??https://harmonyos.51cto.com??

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2022-07-04 16:26:07

鴻蒙屏幕截圖

2022-03-29 10:04:44

APIHarmony文件管理

2010-09-28 14:00:25

DOMAPI

2024-05-21 09:01:00

2021-11-25 09:54:54

鴻蒙HarmonyOS應(yīng)用

2022-06-21 08:12:17

K8sAPI對象Kubernetes

2009-07-09 17:47:35

Java Servle

2023-07-27 14:38:33

開源鴻蒙

2022-08-23 16:07:02

ArkUI鴻蒙

2010-09-28 15:27:09

JavaScript

2023-07-18 14:00:00

鴻蒙Sample案例

2022-09-02 15:17:04

ArkUI鴻蒙

2009-08-20 10:34:46

C#中聲明API函數(shù)

2022-08-08 19:46:26

ArkUI鴻蒙

2021-03-26 11:02:20

Python自然語言API

2021-11-01 15:51:33

OpenHarmony工業(yè)操作系統(tǒng)

2021-09-16 15:08:08

鴻蒙HarmonyOS應(yīng)用

2009-10-12 12:54:58

VB.NET聲明API

2022-09-26 15:16:03

ArkUITS

2023-09-13 18:32:58

TypeScript類型API
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

久久成人精品视频| 欧美日韩在线免费视频| 国产欧美日韩伦理| 国产99久久久| 欧洲福利电影| 91精品国产综合久久精品性色| 2022中文字幕| 欧美女同网站| 久色婷婷小香蕉久久| 久久国产精品久久久久久久久久| 国产大尺度视频| 亚洲播播91| 亚洲人成影院在线观看| 国产精品乱码一区二区三区| 99久久久久久久久| 国产精品精品| 日韩成人av在线播放| 第四色婷婷基地| av资源在线看片| 国产欧美日韩在线观看| 操一操视频一区| 日韩欧美在线观看免费| 欧美日本三区| 在线播放日韩欧美| av电影在线播放| **精品中文字幕一区二区三区| 亚洲3atv精品一区二区三区| 亚洲一区高清| 欧美成人片在线| 国产精品香蕉一区二区三区| 国产精品久久久久久影视| 久草资源在线视频| 99久久精品网| 国产一区二区三区在线观看视频| 欧美激情一区二区三区p站| 国产成人免费| 色婷婷av一区二区三区之一色屋| www.欧美黄色| 色哟哟免费在线观看| 久久久久久久久久久黄色 | 欧美一区二区三区在线观看视频| 欧美爱爱视频免费看| 成人免费在线| 中文字幕在线观看一区二区| 日本在线成人一区二区| 天天操天天操天天| 成人午夜av影视| 亚洲在线观看视频| 国产一区二区三区成人| 麻豆精品一区二区三区| 国产成人久久久| 伊人中文字幕在线观看| 老鸭窝毛片一区二区三区| 97av在线播放| 久久久午夜影院| 激情六月综合| 欧美激情视频免费观看| 91精品国产高清一区二区三蜜臀| 天天天综合网| 久久精品久久久久久| 亚洲激情图片网| 精品视频网站| 一区二区三区回区在观看免费视频| 成人免费毛片日本片视频| 久久365资源| 亚洲福利精品在线| 岛国精品资源网站| 色婷婷av一区二区三区丝袜美腿| 亚洲精品短视频| 免费a级黄色片| 国产欧美日韩精品一区二区免费 | 韩国三级视频在线观看| 在线日韩成人| 日韩www在线| 色欲av无码一区二区三区| 美日韩中文字幕| 国产一区av在线| 91传媒免费观看| 欧美日本一区| 青青草原一区二区| 中文字幕+乱码+中文| 麻豆91精品视频| 亚洲综合在线播放| 日本xxxx人| 久久精品一区二区| 伊人久久99| 日本乱理伦在线| 欧美日韩在线视频一区| 中文字幕第21页| 高清精品久久| 日韩电影大片中文字幕| 丁香花五月婷婷| 久久久久久久久丰满| 久久久久成人精品| 超碰在线观看91| 国内精品免费在线观看| 国产一区二区三区高清| 蜜芽tv福利在线视频| 国产精品国产自产拍高清av| 国产av熟女一区二区三区| www.成人影院| 日韩一区二区在线观看| 91av在线免费| 午夜精品毛片| 国产69久久精品成人| ,一级淫片a看免费| 99久久久久久| 91制片厂免费观看| 日韩不卡免费高清视频| 欧美一级视频精品观看| 扒开jk护士狂揉免费| 中文精品久久| 日韩美女在线观看| 亚洲av无码一区二区三区性色| 久久综合99re88久久爱| 久久久久久久免费视频| 3d欧美精品动漫xxxx无尽| 日韩欧美卡一卡二| 国产黄色大片免费看| 伊人精品视频| 国产综合久久久久| 欧美日韩国产亚洲沙发| 亚洲成av人片在线观看无码| 婷婷激情5月天| 欧洲专线二区三区| 亚州精品天堂中文字幕| 国产精品久久久久久在线| 久久午夜老司机| 岛国大片在线播放| 国产美女视频一区二区| 中文字幕精品一区二区精品| 天天操中文字幕| 成人污视频在线观看| 正在播放91九色| 久久久人成影片一区二区三区在哪下载| 精品久久久久一区二区国产| 九九精品视频免费| 久久亚洲图片| 另类视频在线观看+1080p| 国产高清在线a视频大全 | 50路60路老熟妇啪啪| 都市激情亚洲欧美| 欧美人在线视频| 97在线视频人妻无码| 国产精品嫩草影院av蜜臀| 亚洲爆乳无码专区| 自拍偷拍一区| 91av在线看| 午夜福利视频一区二区| 亚洲一区二区三区视频在线播放| 精产国品一二三区| 无需播放器亚洲| 成人黄色免费在线观看| 日本中文字幕在线2020| 欧美日韩aaaaa| 日本免费网站视频| 老色鬼精品视频在线观看播放| 婷婷久久青草热一区二区| 成人精品电影在线| 在线成人中文字幕| 亚洲专区在线播放| 国产精品丝袜久久久久久app| 人人干人人干人人| 久久中文字幕av一区二区不卡| 国产精品主播视频| av中文字幕在线播放| 精品少妇一区二区三区日产乱码| 欧美交换国产一区内射| 成人av网站大全| 黄色片视频在线免费观看| 国产精品一区二区99| 国产精品美女在线| 国产视频中文字幕在线观看| 日韩午夜在线播放| 国产在线免费视频| 99精品欧美一区二区三区综合在线| 久久成人免费观看| 狠狠色丁香婷婷综合影院| 国产精品一区二区久久| 26uuu亚洲电影在线观看| 亚洲第一区中文字幕| 天天干在线播放| 国产精品理论片| 91精品国产高清91久久久久久 | 国产一区二区网站| 亚洲最新在线观看| 亚洲自拍偷拍一区二区| 青青草成人在线观看| 欧洲xxxxx| 色吊丝一区二区| 成人免费自拍视频| 黑森林国产精品av| 最近中文字幕日韩精品| 亚洲欧美另类综合| 欧美综合色免费| 久久精品波多野结衣| 久久婷婷国产综合国色天香| av噜噜在线观看| 夜夜爽av福利精品导航| 一本久道久久综合| 欧美日韩中出| 国产成人免费av| 超碰在线免费播放| 亚洲天堂av电影| 亚洲第一第二区| 欧美亚洲国产怡红院影院| 欧美黑吊大战白妞| 日本一区二区三区国色天香| jjzzjjzz欧美69巨大| 免费欧美日韩国产三级电影| 国产 日韩 欧美在线| 婷婷色综合网| 欧美成人dvd在线视频| 午夜电影一区| 国产伦精品一区二区三区精品视频| 91超碰国产在线| 久久成人免费视频| 成人在线播放视频| 亚洲精品美女久久久| av网站在线观看免费| 欧美性色aⅴ视频一区日韩精品| 久久高清免费视频| 亚洲欧美日韩中文播放| 国产三级av在线播放| 成人动漫在线一区| 女王人厕视频2ⅴk| 精品一区二区三区免费毛片爱| 国产日韩一区二区在线| 伊人激情综合| 欧美视频在线第一页| 国产精品久久久久蜜臀| 色吧亚洲视频| 免费短视频成人日韩| 国内不卡一区二区三区| 最新精品在线| 亚洲综合精品一区二区| 日韩电影精品| 国产乱肥老妇国产一区二| 国产成+人+综合+亚洲欧美| 日本精品久久电影| 国产在线看片免费视频在线观看| 欧美第一黄网免费网站| av网站网址在线观看| www.日韩av.com| 色网站免费在线观看| 日韩一区二区三区国产| av在线日韩国产精品| 一区二区三区无码高清视频| 国产午夜在线观看| 国产亚洲欧洲在线| av在线三区| 日韩日本欧美亚洲| 超碰porn在线| 欧美精品免费播放| 青春草视频在线观看| 欧美激情欧美激情在线五月| 18video性欧美19sex高清| 久久免费福利视频| 极品视频在线| 国产v综合ⅴ日韩v欧美大片| 欧美xxx性| 国产精品扒开腿做爽爽爽视频| 亚洲成av在线| 国产精品久久久av| av在线成人| 99热在线国产| 亚洲免费成人av在线| 日本一区二区三区免费看| 日韩精品免费一区二区三区| 在线免费一区| 国产精品hd| 大肉大捧一进一出好爽视频| 久久国产高清| 婷婷中文字幕在线观看| 高清成人免费视频| 大地资源二中文在线影视观看| 久久久www免费人成精品| 久久久精品成人| 亚洲免费资源在线播放| 日本少妇在线观看| 在线欧美小视频| 97视频免费在线| 亚洲精品狠狠操| 97超碰人人在线| 欧美国产第一页| 黑人巨大精品欧美一区二区桃花岛| 国产精品美女免费视频| 伊人精品综合| 日韩国产高清一区| 中文字幕一区二区av| 国产极品在线视频| 久久精品国产一区二区三 | 久久久精品亚洲| 国产精品电影| 91精品国产综合久久久久久久久 | 免费人成黄页网站在线一区二区| 伊人国产精品视频| www精品美女久久久tv| 我要看黄色一级片| 欧美性xxxx18| 国产情侣一区二区| 亚洲欧美国产一本综合首页| 国产激情在线视频| 欧美最猛性xxxxx亚洲精品| 91精品网站在线观看| 久久久综合香蕉尹人综合网| 香蕉国产精品| 国产综合免费视频| 丁香桃色午夜亚洲一区二区三区| 亚洲自拍偷拍图| 亚洲国产精品欧美一二99| 亚洲综合精品在线| 亚洲精品网址在线观看| 国产激情小视频在线| 国产91免费看片| 国产调教精品| 99亚洲国产精品| 久久精品久久精品| 午夜时刻免费入口| 午夜激情综合网| 99国产精品久久久久久久成人| 亚洲网址你懂得| 日韩理论视频| 国产精品欧美久久| 天天做天天爱天天综合网2021| 苍井空浴缸大战猛男120分钟| 波多野洁衣一区| 久草视频免费在线| 91精品欧美综合在线观看最新| 成人精品一区二区三区免费| 2019中文字幕在线观看| 91精品丝袜国产高跟在线| 91社在线播放| 精品一区二区三区免费观看| 五月天婷婷丁香网| 在线日韩av片| 高清美女视频一区| 国产成人午夜视频网址| 天天做夜夜做人人爱精品 | 国语对白在线刺激| 3d动漫啪啪精品一区二区免费| 欧美黄色录像片| 亚洲天堂2018av| 国产精品久久网站| 亚洲一级视频在线观看| 日韩在线视频二区| 91天天综合| 亚洲在线视频一区二区| 麻豆成人免费电影| 国产小视频你懂的| 91麻豆精品国产91久久久 | 在线免费视频a| 国产网红主播福利一区二区| 自拍偷拍18p| 怡红院精品视频| yy6080久久伦理一区二区| 亚洲v日韩v欧美v综合| 日韩电影在线免费看| 亚洲欧美日韩第一页| 欧美日韩aaaaaa| a毛片在线看免费观看| 97人人模人人爽人人喊38tv| 狠狠入ady亚洲精品经典电影| 欧产日产国产精品98| 亚洲1区2区3区4区| 男女av在线| 国产欧美日韩综合精品| 亚洲女同中文字幕| 亚洲欧美综合视频| 精品久久中文字幕久久av| 伦理片一区二区三区| 国产精品久久久久久久久久久新郎 | 国产精品xvideos88| 日本精品一二三区| 粉嫩av一区二区三区免费野| 电影av在线| 成人高h视频在线| 韩日欧美一区| 色婷婷av777| 717成人午夜免费福利电影| 欧美日韩色网| 欧美动漫一区二区| 美美哒免费高清在线观看视频一区二区 | 亚洲天堂中文字幕在线观看| 奇米影视亚洲色图| 国产日韩精品一区| 国产精品久久影视| 海角国产乱辈乱精品视频| 精品产国自在拍| 野花视频免费在线观看| 富二代精品短视频| 国产在线1区| 久久精品日产第一区二区三区| 轻轻草成人在线| 免费在线观看亚洲| 亚洲最新视频在线| 99热这里只有精品首页 | 韩国一区二区视频| 日本中文字幕网| 久久精品夜夜夜夜夜久久|