女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙ArkUI-X平臺差異化:【運行態差異化(@ohos.deviceInfo)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-25 16:37 ? 次閱讀

平臺差異化

簡介

跨平臺使用場景是一套ArkTS代碼運行在多個終端設備上,如AndroidiOSOpenHarmony(含基于OpenHarmony發行的商業版,如HarmonyOS Next)。當不同平臺業務邏輯不同,或使用了不支持跨平臺的API,就需要根據平臺不同進行一定代碼差異化適配。當前僅支持在代碼運行態進行差異化,接下來詳細介紹場景及如何差異化適配。

使用場景及能力

使用場景

平臺差異化適用于以下兩種典型場景:

  1. 自身業務邏輯不同平臺本來就有差異;
  2. 在OpenHarmony上調用了不支持跨平臺的API,這就需要在OpenHarmony上仍然調用對應API,其他平臺通過Bridge橋接機制進行差異化處理;
  3. 開發前請熟悉鴻蒙開發指導文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點擊或者復制轉到。

判斷平臺類型

可以通過let osName: string = deviceInfo.osFullName;獲取對應OS名字,該接口已支持跨平臺,不同平臺上其返回值如下:

  • OpenHarmony上,osName等于OpenHarmony XXX
  • Android上,osName等于Android XXX
  • iOS上,osName等于iOS XXX

示例如下:

test() {
  let osName: string = deviceInfo.osFullName;
  console.log('osName = ' + osName);
  if (osName.startsWith('OpenHarmony')) {
    // OpenHarmony應用平臺上業務邏輯
  } else if (osName.startsWith('Android')) {
    // Android應用平臺上業務邏輯
  } else if (osName.startsWith('iOS')) {
    // iOS應用平臺上業務邏輯
  }
}

非跨平臺API處理

在跨平臺工程中如果調用非跨平臺API,編譯時IDE會觸發攔截并報錯。接下來以調用wifiManager.isWifiActive()判斷WiFi開關是否打開為例,這個API當前是不支持跨平臺的。

示例代碼:

test2(){
   let isActive = wifiManager.isWifiActive();
  }

IDE報錯:

> hvigor ERROR: Failed :feature:default@CompileArkTS... 
> hvigor ERROR: ArkTS Compiler Error
ERROR: ArkTS:ERROR File: D:/work/git/play-arkuix/Test_ACE/feature/src/main/ets/pages/Index.ets:64:31
 'isWifiActive' can't support crossplatform application.

COMPILE RESULT:FAIL {ERROR:2}
> hvigor ERROR: BUILD FAILED in 10 s 753 ms

此時可以將涉及到的API寫到一個后綴為**.ts**文件,然后在不支持的API上面增加// @ts-ignore// @ts-nocheck屏蔽告警,開發者需要保證只在OpenHarmony應用平臺上才運行這一段邏輯,Android和iOS應用平臺上可以借用Bridge橋接機制處理,示例代碼如下:

  1. 新建一個WiFiUtil.ts,并忽略告警:
import wifiManager from '@ohos.wifiManager'

export class WiFiUtil {
  static isActive(): boolean {
    //@ts-ignore
    return wifiManager.isWifiActive();
  }
}

`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

搜狗高速瀏覽器截圖20240326151450.png
2. 根據不同平臺差異化邏輯,Android和iOS應用平臺上通過[Bridge機制]橋接到對應平臺的業務邏輯實現上:

checkTestWiFi(): void {
  let osName: string = deviceInfo.osFullName;
  console.log('osName = ' + osName);
  if (osName.startsWith('OpenHarmony')) {
    // OpenHarmony應用平臺
    let isActive = WiFiUtil.isActive();
    this.message = isActive ? '已連接' : '未連接';
  } else {
    // Android和iOS應用平臺上,中轉到原生
    let bridge = Bridge.createBridge('Bridge');
    bridge.callMethod('isWiFiActive').then((res) = > {
      // 業務邏輯處理...
    }).catch(() = > {

    })
  }
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    3963

    瀏覽量

    129547
  • HarmonyOS
    +關注

    關注

    79

    文章

    2052

    瀏覽量

    32129
  • OpenHarmony
    +關注

    關注

    26

    文章

    3824

    瀏覽量

    18141
  • 鴻蒙OS
    +關注

    關注

    0

    文章

    191

    瀏覽量

    4878
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    SPICE差異化

    SPICE差異化
    發表于 05-22 08:11

    如何將cadence17.2的原理圖進行差異化對比?

    cadence17.2的原理圖進行差異化對比怎么做,沒有找到那個下拉菜單呀
    發表于 09-20 04:40

    DevEco Studio 3.1差異化構建打包,提升多版本應用開發效率

    HarmonyOS應用及服務的一站式集成開發環境。本次分享DevEco Studio 3.1上線的新特性-差異化構建打包,定制多目標構建產物。 很多應用需要根據具體業務來定制對應場景的工程,舉個例子,同一個
    發表于 12-09 11:19

    寬帶差異化服務解決方案

    【摘要】 本文通過分析互聯網業務迅猛發展對運營商帶來的機遇和挑戰,提出寬帶差異化服務在寬帶接入、QoS、資源分配方面差異化的多種技術手段,說明在業務差異、服務
    發表于 05-16 10:01 ?0次下載

    寬帶差異化服務解決方案

    寬帶差異化服務解決方案摘要: 本文通過分析互聯網業務迅猛發展對運營商帶來的機遇和挑戰,提出寬帶差異化服務在寬帶接入、QoS、資源分配方面差異化
    發表于 05-23 11:12 ?18次下載

    移動操作系統帶來差異化設計

    移動操作系統帶來差異化設計   移動設備市場一直以來都非常火爆,特別是具有蘋果的iPhone和Verizon Wireless公司的Droid的智能手機市場。這些平臺上的硬件
    發表于 04-24 12:02 ?1353次閱讀

    三個IC設計差異化的發展趨勢分析

    對于設計師來說,難的是如何讓自己的IC差異化,能給系統廠商帶來更多的好處,這里,結合領先半導體廠商的做法,總結三個IC設計差異化的趨勢。
    發表于 03-15 09:29 ?796次閱讀
    三個IC設計<b class='flag-5'>差異化</b>的發展趨勢分析

    差異化才是王道 這6款黑科技神機讓你與眾不同

    如今,智能手機行業同質化嚴重的現象可以說是人盡皆知,行業人士紛紛高呼“我們需要差異化的創新!”大家都明白差異化才是王道,可是那些智能手機的產品經理們,是否考慮過什么才是消費者真正想要的差異化呢?
    發表于 10-13 17:53 ?747次閱讀

    一種隱私保護的差異化數據分享協議

    參與式感知中用戶不僅對數據匹配度有要求,對數據差異化也同樣有要求,為了既能滿足用戶對數據匹配度和差異化數據的需求,也能保護用戶的偏好隱私,提出了一種隱私保護的差異化數據分享協議。該協議首先將交互雙方
    發表于 01-07 10:41 ?0次下載

    安森美有哪些優勢和差異化競爭策略

    眾多車用芯片供應商似乎都提供相似的產品線,安森美有哪些優勢和差異化競爭策略呢?
    的頭像 發表于 12-03 16:13 ?8456次閱讀
    安森美有哪些優勢和<b class='flag-5'>差異化</b>競爭策略

    鴻蒙ArkUI-X跨語言調用說明:平臺差異化【Android、ios動態化】

    ArkUI-X支持動態化,使用者可以根據自己需要動態發布跨平臺內容,從而使跨平臺部分和宿主應用進行解耦。
    的頭像 發表于 05-23 14:38 ?1369次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b>跨語言調用說明:<b class='flag-5'>平臺</b><b class='flag-5'>差異化</b>【Android、ios動態化】

    江蘇移動攜手華為率先完成全省范圍智能差異化體驗保障商用驗證

    近日,江蘇移動攜手華為率先完成全省范圍智能差異化體驗保障商用驗證,具備端到端智能差異化體驗保障能力。
    的頭像 發表于 05-29 17:04 ?742次閱讀

    易飛揚走過2024——避開紅海 專注差異化

    差異化是中小企業長期的經營戰略。一直以來,易飛揚以其務實的差異化戰略游弋于光模塊細分市場,推出了一系列創新產品,并在2024贏得了全球市場的廣泛肯定。
    的頭像 發表于 12-31 10:05 ?490次閱讀

    愛立信借助差異化連接提升5G網絡體驗

    愛立信消費者實驗室最新報告《借助差異化連接提升5G網絡體驗》顯示,在全球范圍內,約40%的用戶并不滿足于當前“盡力而為”的5G業務(中國大陸這一比例為20%)。與此同時,用戶差異化連接的需求在不斷增長,41%的中國用戶愿意為差異化
    的頭像 發表于 01-17 09:25 ?5360次閱讀

    EM儲能網關 ZWS智慧儲能云應用(8) — 電站差異化支持

    面對不同項目、種類繁多的儲能產品,如何在儲能云平臺上進行電站差異化支持尤為關鍵,ZWS智慧儲能云從多方面支持儲能電站差異化。簡介隨著行業發展,市場“內卷”之下,各大儲能企業推陳出新的速度加快。面對
    的頭像 發表于 03-14 11:38 ?239次閱讀
    EM儲能網關 ZWS智慧儲能云應用(8) — 電站<b class='flag-5'>差異化</b>支持