日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

搭載OpenHarmony2.0的3516開發(fā)板上開發(fā)的第一個(gè)Hap-WIFI

OpenHarmony技術(shù)社區(qū) ? 來源:鴻蒙技術(shù)社區(qū) ? 作者:panda_coder ? 2021-06-30 09:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本次將分為上下兩篇講述在搭載 OpenHarmony2.0 的 3516 開發(fā)板上開發(fā)的第一個(gè) Hap-WIFI,目前 Openharmony2.0 僅支持 JSUI,所以以下內(nèi)容皆為 JSUI 開發(fā)。

源碼碼已上傳至 gitee:

https://gitee.com/panda-coder/open-harmony-apps/tree/master/Wifi

現(xiàn)有不足之處為只能獲取到 WiFi 的 ipv6,獲取不到 ipv4,已提 issue。也是因?yàn)檫@個(gè)原因文章才發(fā)出,本想去研究 cpp 源碼試著解決問題,奈何能力有限。后續(xù)會(huì)進(jìn)一步完善,并加上開啟熱點(diǎn)等功能。

配置 SDK、開發(fā)工具等步驟將不再贅述,請(qǐng)參考:《在OpenHarmony2.0 上安裝自己的系統(tǒng)應(yīng)用》

e855d1fa-d91a-11eb-9e57-12bb97331649.png

內(nèi)容

上篇:

WiFi 的界面排版

WiFi 的 JS-API

下篇:

自定義的鍵盤組件的開發(fā)講解(OpenHarmony2.0 無系統(tǒng)輸入法,input框無法輸入)。①鍵盤的排版。②鍵盤的特殊功能鍵。③鍵盤數(shù)據(jù)回傳-JS 自定義組件的事件傳遞。

代碼目錄

src

└─main

├─js

│ └─default

│ ├─common ----------------------- 公共庫

│ ├─i18n

│ ├─images ----------------------- 圖片資源

│ └─pages ----------------------- 頁面及模塊

│ ├─index --------------------- 主界面

│ ├─keyboard ------------------ 鍵盤模塊

│ └─wifiItem ------------------ WiFi列表項(xiàng)模塊

└─resources

└─base

├─element

└─media

布局排版

①index 主界面

e8674246-d91a-11eb-9e57-12bb97331649.png

主界面分為上下兩部分,上部分為控制顯示面板,下部分為 WiFi 列表:

wifi-info 為上部控制面板

wifi-list 為下半部 wifi 列表

dialog 分別為密碼彈出/鍵盤彈窗

②wifi-info

《div class=“wifi-info” style=“align-content: center;justify-content: space-between;”》

《!--左側(cè)wifi圖片--》

《div style=“justify-content: center;align-items: center;width: 60%;flex-direction: column;”》

《image src=“。。/。。/images/wifi.png” style=“width:100px;height:100px;”》《/image》

《text style=“color: white;font-size: 30px;margin-top: 6px;”》WLAN 2.4GHz《/text》

《text》{{console}}《/text》

《/div》

《divider vertical=“true” style=“color: white;stroke-width:2px;padding: 30px 0px;”》《/divider》

《!--右側(cè)WiFi詳情--》

《div style=“justify-content: center; align-items: center;flex-direction: row;width: 100%;”》

《text style=“color: white;padding: 10px;margin-left: 10px;width: 80%;text-align: start;”》{{state}}《/text》

《switch textoff=“關(guān)閉” @change=“wifiSwitchChanged” texton=“開啟” showtext=“true” checked=“{{ wifiInfo.isActive }}” style=“font-size: 20px;text-padding:6px;height: 80px;”》《/switch》

《/div》

《/div》

所有的 div 布局排版均為 flex 排版。左側(cè)為一張 WiFi 圖片,一段文字說明。console 字段為方便界面調(diào)試而使用的字段,默認(rèn)為空,為空時(shí)不顯示。

《divider》 為分隔線控件,將左右兩側(cè)進(jìn)行分割右側(cè)為一個(gè) 《text》 組件顯示狀態(tài)信息。

如 WiFi 連接/開啟狀態(tài),該值為 computed 計(jì)算值,《switch》 控件進(jìn)行控制 WiFi 的開啟關(guān)閉。

③wifi-list

《div class=“wifi-list”》

《refresh refreshing=“{{isSaning}}” @pulldown=“refreshTouched”》

《list if=“{{wifiInfo.scanInfo && wifiInfo.scanInfo.length》0}}” 》

《list-item if=“{{connectItem && connectItem.ssid}}” style=“margin:0px 6px;padding: 10px 6px;width: 100%;justify-content: center;flex-direction: column;”》

《wifi-item @my-touched=“checkedWifi” style=“width: 100%;” value=“{{connectItem}}” checked=“true”》《/wifi-item》

《divider vertical=“false” style=“color: #D4D3D3;stroke-width:2px; margin-top: 6px;padding: 10px;”》《/divider》

《/list-item》

《list-item for=“{{WifiScanList}}” @touchstart=“l(fā)istItemToucheStart” @touchmove=“itemMoved” tid=“id” style=“margin:0px 6px;padding: 10px 6px;width: 100%;justify-content: center;flex-direction: column;” 》

《wifi-item @my-touched=“checkedWifi” style=“width: 100%;” value=“{{$item}}”》《/wifi-item》

《divider vertical=“false” style=“color: #D4D3D3;stroke-width:2px; margin-top: 6px;padding: 10px;”》《/divider》

《/list-item》

《/list》

《text style=“justify-content: center;width: 100%;color: #959494;text-align: center;” else》當(dāng)前無可用WIFI,請(qǐng)下拉刷新《/text》

《/refresh》

《/div》

WiFi 列表稍微復(fù)雜一點(diǎn),首先通過 《refresh》 組件做了一個(gè)下拉功能,下拉時(shí)更新 wifi 掃描列表。

其次通過 list 和 list-item 組件配合將通過接口獲取到的 WiFi 對(duì)象數(shù)組進(jìn)行顯示。

在顯示的時(shí)候優(yōu)先顯示已連接數(shù)據(jù),同時(shí)在下面的列表中排除已連接的,list-item 中使用自定義組件 wifi-item,并添加分割線組件進(jìn)行分隔。

④wifiItem

布局代碼:

《div class=“container” @touchend=“boxTouchend”》

《div class=“box”》

《div class=“box-left”》

《text class=“{{checked?‘isChecked’:‘’}}”》{{ssid}}《/text》

《text》{{desc}}《/text》

《/div》

《div class=“box-right”》

《image style=“width: 80px;height:80px;” src=“。。/。。/images/wifi-2.png”》《/image》

《/div》

《/div》《/div》

ischecked 判斷當(dāng)前是否為選中狀態(tài),加載選中的樣式。

⑤dialog

第一個(gè) dialog 為彈出輸入密碼框,第二個(gè) dialog 為加載自定義的鍵盤組件,將在下一節(jié)進(jìn)行講解。

第一個(gè) dialog:

《dialog id=“wifi_dialog” cancel=“hideInputPassword” style=“height: 280px;width:90%;margin-bottom: 50%;border-radius: 3px;”》

《div style=“flex-direction: column;padding: 12px;”》

《text style=“font-size: 36px;font-weight: bolder;padding: 15px 3px;”》{{checkedWifiName}}《/text》

《div》

《input placeholder=“請(qǐng)輸入密碼” @touchend=“showKeyBoard” value=“{{wifiPassword}}” style=“border-radius: 3px;”》《/input》

《/div》

《div style=“justify-content: center;”》

《button class=“btn btn-default” @touchend=“connect” 》連 接《/button》

《button class=“btn btn-primary” @touchend=“hideInputPassword”》取 消《/button》

《/div》

《/div》

《/dialog》

需要注意的是,dialog 下只能有一個(gè)根節(jié)點(diǎn)。input 類型為了方便,未采用密碼形式,弱需要設(shè)為密碼方式,在 input 組件上增加 type=“password” 特性即可,更多類型可參考官方文檔。

JS API

WIFI 的官方倉庫地址:

https://gitee.com/openharmony/communication_wifi

找到該倉庫目錄下的 interfaces/kits/jskits/@ohos.wifi.d.ts 文件可以看到對(duì) JS 已提供的 api 接口信息(文件注釋非常詳細(xì),就不再贅述)。

但需要注意的是,開發(fā)中引用 wifi api 并非 @ohos.wifi,而是 @ohos.wifi_native_js。

cpp 位置為 interfaces/innerkits/native_cpp/js_napi/wifi_js.cpp:

static napi_value Init(napi_env env, napi_value exports)

{

napi_property_descriptor desc[] = {

DECLARE_NAPI_FUNCTION(“enableWifi”, EnableWifi),

DECLARE_NAPI_FUNCTION(“disableWifi”, DisableWifi),

DECLARE_NAPI_FUNCTION(“isWifiActive”, IsWifiActive),

DECLARE_NAPI_FUNCTION(“scan”, Scan),

DECLARE_NAPI_FUNCTION(“getScanInfos”, GetScanInfos),

DECLARE_NAPI_FUNCTION(“addDeviceConfig”, AddDeviceConfig),

DECLARE_NAPI_FUNCTION(“connectToNetwork”, ConnectToNetwork),

DECLARE_NAPI_FUNCTION(“connectToDevice”, ConnectToDevice),

DECLARE_NAPI_FUNCTION(“disConnect”, DisConnect),

DECLARE_NAPI_FUNCTION(“getSignalLevel”, GetSignalLevel)

};

NAPI_CALL(env, napi_define_properties(env, exports, sizeof(desc) / sizeof(napi_property_descriptor), desc));

return exports;

}

static napi_module wifiJsModule = {

.nm_version = 1,

.nm_flags = 0,

.nm_filename = NULL,

.nm_register_func = Init,

.nm_modname = “wifi_native_js”,

.nm_priv = ((void *)0),

.reserved = { 0 }

};

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • IPv6
    +關(guān)注

    關(guān)注

    6

    文章

    736

    瀏覽量

    62867
  • WIFI
    +關(guān)注

    關(guān)注

    82

    文章

    5533

    瀏覽量

    214532
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    689

    瀏覽量

    31525
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1112

    瀏覽量

    52072
  • OpenHarmony
    +關(guān)注

    關(guān)注

    33

    文章

    3977

    瀏覽量

    21378
  • OpenHarmony 2.0
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    993

原文標(biāo)題:我在OpenHarmony上開發(fā)的第一個(gè)應(yīng)用

文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    迅為iTOP-Hi3516CV610開發(fā)板SDK升級(jí)更新

    為了讓大家在使用迅為iTOP-Hi3516CV610開發(fā)板進(jìn)行產(chǎn)品開發(fā)時(shí),擁有更強(qiáng)大的性能和更豐富的功能,我們對(duì)開發(fā)板的底層SDK進(jìn)行了重大版本更新!
    的頭像 發(fā)表于 03-27 14:26 ?463次閱讀

    基于凌羽派的OpenHarmony北向應(yīng)用開發(fā):Hello World 示例應(yīng)用

    本示例是基于OpenHarmony開發(fā)第一個(gè)簡單應(yīng)用,用于展示如何創(chuàng)建、構(gòu)建和部署個(gè)基本的應(yīng)用程序。環(huán)境配置如下所示:API:18SDK
    的頭像 發(fā)表于 02-25 10:23 ?354次閱讀
    基于凌羽派的<b class='flag-5'>OpenHarmony</b>北向應(yīng)用<b class='flag-5'>開發(fā)</b>:Hello World 示例應(yīng)用

    niobeu4 esp32 開發(fā)板無法連接有密碼的wifi

    (1) niobeu4 開發(fā)板,系統(tǒng)正常運(yùn)行,串口正常輸出。 (2)測試 wifi 功能,按照 openharmony wifi sta 功能 api
    發(fā)表于 01-23 10:36

    迅為iTOP-Hi3516開發(fā)板驅(qū)動(dòng)開發(fā)資料全面上線,構(gòu)建從入門到精通的完整學(xué)習(xí)路徑!

    迅為iTOP-Hi3516開發(fā)板linux驅(qū)動(dòng)開發(fā)資料全面上線,構(gòu)建從入門到精通的完整學(xué)習(xí)路徑!
    的頭像 發(fā)表于 12-19 15:47 ?896次閱讀
    迅為iTOP-Hi<b class='flag-5'>3516</b><b class='flag-5'>開發(fā)板</b>驅(qū)動(dòng)<b class='flag-5'>開發(fā)</b>資料全面上線,構(gòu)建從入門到精通的完整學(xué)習(xí)路徑!

    **CW32L012****開發(fā)評(píng)估第一個(gè)程序**

    CW32L012****開發(fā)評(píng)估第一個(gè)程序 最近以15.99在CW32生態(tài)社區(qū)入手了這塊CW32L012開發(fā)評(píng)估,我迫不及待的燒錄進(jìn)電
    發(fā)表于 11-22 00:09

    觸覺智能Purple Pi OH開發(fā)板率先適配OpenHarmony6.0 Release,鴻蒙明星開發(fā)板

    2025年9月19日,在官網(wǎng)上線開源鴻蒙OpenHarmony6.0Release僅13天,觸覺智能宣布旗下PurplePiOH開發(fā)板成功完成OpenHarmony6.0Release系統(tǒng)適配。這
    的頭像 發(fā)表于 10-29 08:00 ?1140次閱讀
    觸覺智能Purple Pi OH<b class='flag-5'>開發(fā)板</b>率先適配<b class='flag-5'>OpenHarmony</b>6.0 Release,鴻蒙明星<b class='flag-5'>開發(fā)板</b>

    迅為Hi3516CV610開發(fā)板強(qiáng)勁內(nèi)核-海思Hi3516CV610核心

    迅為Hi3516CV610開發(fā)板強(qiáng)勁內(nèi)核-海思Hi3516CV610核心
    的頭像 發(fā)表于 09-30 15:19 ?2632次閱讀
    迅為Hi<b class='flag-5'>3516</b>CV610<b class='flag-5'>開發(fā)板</b>強(qiáng)勁內(nèi)核-海思Hi<b class='flag-5'>3516</b>CV610核心<b class='flag-5'>板</b>

    【精選資料】開發(fā)板測評(píng)大賽作品合集!

    電子發(fā)燒友攜手16家生態(tài)廠商發(fā)起開發(fā)板測評(píng)大賽,設(shè)OpenHarmony、RISC-V、Rockchip三大賽道,共計(jì)21款、160+塊開發(fā)板,通過評(píng)測開發(fā)板性能、易用性及創(chuàng)新場景,促
    的頭像 發(fā)表于 09-23 08:09 ?1447次閱讀
    【精選資料】<b class='flag-5'>開發(fā)板</b>測評(píng)大賽作品合集!

    【匯思博SEEK100開發(fā)板試用體驗(yàn)】3/第一次使用OpenHarmony

    本分享貼,聚焦第一次上手的時(shí)候,可能出現(xiàn)的些問題,希望對(duì)其他小伙伴也有幫助。 ??、創(chuàng)建首個(gè)OpenHarmony工程?? ??選擇開發(fā)
    發(fā)表于 08-20 22:21

    【匯思博SEEK100開發(fā)板試用體驗(yàn)】01 SEEK100開發(fā)板開箱&amp;簡介

    前言 今天剛收到SEEK100開發(fā)板,非常感謝匯思博和發(fā)燒友論壇給的這次開發(fā)板評(píng)測機(jī)會(huì)。這張開發(fā)板是出廠搭載OpenHarmony 5.0
    發(fā)表于 07-03 22:28

    開鴻開發(fā)板深度體驗(yàn):從開源鴻蒙開發(fā)到AI場景實(shí)踐

    開鴻開發(fā)板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC體驗(yàn)開源鴻蒙能力學(xué)習(xí)開源鴻蒙開發(fā)●●●搭載KaihongOS
    的頭像 發(fā)表于 07-03 17:03 ?2026次閱讀
    開鴻<b class='flag-5'>開發(fā)板</b>深度體驗(yàn):從開源鴻蒙<b class='flag-5'>開發(fā)</b>到AI場景實(shí)踐

    搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA開發(fā)板免費(fèi)試用

    : 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V開發(fā)板深度評(píng)測!頂級(jí)開發(fā)板免費(fèi)試用,速度來體驗(yàn) 限時(shí)申請(qǐng)!OpenHa
    的頭像 發(fā)表于 06-05 16:45 ?1482次閱讀
    <b class='flag-5'>搭載</b><b class='flag-5'>OpenHarmony</b>操作系統(tǒng),視美泰SC-3568HA<b class='flag-5'>開發(fā)板</b>免費(fèi)試用

    搭載OpenHarmony 5.0系統(tǒng)!視美泰M-K1HSE開發(fā)板免費(fèi)試用

    搭載OpenHarmony 5.0系統(tǒng)!視美泰M-K1HSE開發(fā)板免費(fèi)試用,可以到這里申請(qǐng)?bào)w驗(yàn),申請(qǐng)地址:https://bbs.elecfans.com/try_MK1HSE.html
    發(fā)表于 05-28 17:53

    貝啟BQ3568HM 開發(fā)板被選用為 OpenHarmony 明星開發(fā)板

    經(jīng)開放原子開源基金會(huì)OpenHarmony社區(qū)官方測評(píng)評(píng)選,貝啟科技BQ3568HM開源鴻蒙開發(fā)板被正式選用為OpenHarmony明星開發(fā)板。BQ3568HM開源鴻蒙
    的頭像 發(fā)表于 05-25 00:22 ?1765次閱讀
    貝啟BQ3568HM <b class='flag-5'>開發(fā)板</b>被選用為 <b class='flag-5'>OpenHarmony</b> 明星<b class='flag-5'>開發(fā)板</b>

    個(gè)不錯(cuò)的活動(dòng):電子發(fā)燒友開發(fā)板評(píng)測大賽

    “ ?湊齊了 OpenHarmony,Risc-V,Rocketchip 三大賽道 21 款來自不同廠家的開發(fā)板,可免費(fèi)申請(qǐng)?jiān)囉谩?” ? 電子發(fā)燒友開發(fā)板評(píng)測大賽正式啟動(dòng)!無論你是開源生態(tài)的探索者
    的頭像 發(fā)表于 05-21 11:19 ?920次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>不錯(cuò)的活動(dòng):電子發(fā)燒友<b class='flag-5'>開發(fā)板</b>評(píng)測大賽
    紫金县| 陆良县| 民乐县| 桂东县| 辽宁省| 宣武区| 隆回县| 河西区| 邛崃市| 鹤壁市| 桂林市| 武川县| 贵阳市| 南皮县| 新邵县| 察隅县| 阜新市| 登封市| 忻州市| 新闻| 武胜县| 沙雅县| 丰县| 林芝县| 札达县| 革吉县| 镇康县| 孙吴县| 秭归县| 卢氏县| 巴楚县| 盐源县| 丹江口市| 广饶县| 确山县| 清徐县| 宜都市| 宣武区| 宜城市| 台湾省| 喜德县|