商务网站设计特色,asp做的网站频繁报错 参数错误,普工招聘最新招聘信息,网站推广做招商加盟网络管理
介绍
此Demo展示如何查询网络详情、域名解析、网络状态监听等功能。
效果预览#xff1a; 使用说明#xff1a;
1.启动应用#xff0c;在点击检查网络、网络详情、网络连接信息后#xff0c;展示对应的信息#xff1b;
2.在域名解析的模块下#xff0c;输入…网络管理
介绍
此Demo展示如何查询网络详情、域名解析、网络状态监听等功能。
效果预览 使用说明
1.启动应用在点击检查网络、网络详情、网络连接信息后展示对应的信息
2.在域名解析的模块下输入对应的域名后点击域名解析展示解析的域名ip地址
3.在网络监听模块下开启网络监听后展示当前监听的网络信息关闭网络监听后停止监听网络信息。
具体实现
使用ohos.net.connection网络连接管理接口实现网络的详情、域名解析、网络监听等功能。代码Index.ets
/*** * Copyright (c) 2023 Huawei Device Co., Ltd.* * Licensed under the Apache License, Version 2.0 (the License);* * you may not use this file except in compliance with the License.* * You may obtain a copy of the License at* ** * http://www.apache.org/licenses/LICENSE-2.0* ** * Unless required by applicable law or agreed to in writing, software* * distributed under the License is distributed on an AS IS BASIS,* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* * See the License for the specific language governing permissions and* * limitations under the License.**/import { connection } from kit.NetworkKit;
import { BusinessError } from kit.BasicServicesKit;
import { CommonConstant as Const } from ../common/Constant;
import { promptAction } from kit.ArkUI;
import { Logger } from ../utils/Logger;Entry
Component
struct Index {State networkId: string Const.NETWORK_ID;State netMessage: string Const.INIT_NET_MESSAGE;State connectionMessage: string Const.INIT_CONNECTION_MESSAGE;State netStateMessage: string ;State hostName: string ;State ip: string ;private controller: TabsController new TabsController();private netHandle: connection.NetHandle | null null;private netCon: connection.NetConnection | null null;scroller: Scroller new Scroller();aboutToDisappear(): void {this.unUseNetworkRegister;}build() {Column() {Text($r(app.string.network_title)).fontSize($r(app.float.title_font_size)).fontWeight(FontWeight.Bold).textAlign(TextAlign.Start).margin({ left: Const.WebConstant_TEN_PERCENT }).width(Const.WebConstant_FULL_WIDTH)Tabs({ controller: this.controller }) {TabContent() {Column() {Scroll() {Column() {Row() {Column() {Text($r(app.string.check_network)).fontSize($r(app.float.font_size)).padding({ top: $r(app.float.md_padding_margin), left: $r(app.float.md_padding_margin) }).fontWeight(FontWeight.Bold).align(Alignment.Start).width(Const.WebConstant_FULL_WIDTH)Text(this.networkId).fontSize($r(app.float.font_size)).padding($r(app.float.md_padding_margin)).align(Alignment.Start).opacity($r(app.float.opacity)).width(Const.WebConstant_FULL_WIDTH)}.width(Const.WebConstant_SEVENTY_PERCENT)Column() {Button($r(app.string.check)).fontSize($r(app.float.sm_font_size)).height(Const.WebConstant_BUTTON_HEIGHT).margin({ top: $r(app.float.md_padding_margin) }).width(Const.WebConstant_BUTTON_SMALL_WIDTH).buttonStyle(ButtonStyleMode.NORMAL).onClick(() {this.isNetworkAccess();})}.align(Alignment.TopStart).height(Const.WebConstant_FULL_HEIGHT).width(Const.WebConstant_THIRTY_PERCENT)}.borderRadius($r(app.float.md_border_radius)).margin({ left: $r(app.float.md_padding_margin), right: $r(app.float.md_padding_margin) }).width(Const.WebConstant_NINETY_PERCENT).height(Const.WebConstant_TWELVE_PERCENT).backgroundColor($r(app.color.text_background))Row() {Column() {Text($r(app.string.network_detail)).fontSize($r(app.float.font_size)).padding({ top: $r(app.float.md_padding_margin), left: $r(app.float.md_padding_margin) }).fontWeight(FontWeight.Bold).height(Const.WebConstant_FORTY_PERCENT).width(Const.WebConstant_FULL_WIDTH)Text(this.netMessage).fontSize($r(app.float.font_size)).padding($r(app.float.md_padding_margin)).opacity($r(app.float.opacity)).height(Const.WebConstant_SIXTY_PERCENT).width(Const.WebConstant_FULL_WIDTH)}.width(Const.WebConstant_SEVENTY_PERCENT).align(Alignment.TopStart)Column() {Button($r(app.string.detail)).fontSize($r(app.float.sm_font_size)).height(Const.WebConstant_BUTTON_HEIGHT).margin({ top: $r(app.float.md_padding_margin) }).width(Const.WebConstant_BUTTON_SMALL_WIDTH).buttonStyle(ButtonStyleMode.NORMAL).onClick(() {this.getNetworkMessage();})}.align(Alignment.TopStart).height(Const.WebConstant_FULL_HEIGHT).width(Const.WebConstant_THIRTY_PERCENT)}.borderRadius($r(app.float.md_border_radius)).margin($r(app.float.md_padding_margin)).width(Const.WebConstant_NINETY_PERCENT).height(Const.WebConstant_FIFTEEN_PERCENT).backgroundColor($r(app.color.text_background))Row() {Column() {Text($r(app.string.network_connection_detail)).fontSize($r(app.float.font_size)).padding($r(app.float.md_padding_margin)).fontWeight(FontWeight.Bold).width(Const.WebConstant_FULL_WIDTH).align(Alignment.Start)Text(this.connectionMessage).fontSize($r(app.float.font_size)).opacity($r(app.float.opacity)).width(Const.WebConstant_NINETY_PERCENT).align(Alignment.Start)}.width(Const.WebConstant_SEVENTY_PERCENT).justifyContent(FlexAlign.Start)Column() {Button($r(app.string.detail)).fontSize($r(app.float.sm_font_size)).height(Const.WebConstant_BUTTON_HEIGHT).margin({ top: $r(app.float.md_padding_margin) }).width(Const.WebConstant_BUTTON_SMALL_WIDTH).buttonStyle(ButtonStyleMode.NORMAL).onClick(() {this.getConnectionProperties();})}.width(Const.WebConstant_THIRTY_PERCENT)}.alignItems(VerticalAlign.Top).borderRadius($r(app.float.md_border_radius)).margin({left: $r(app.float.md_padding_margin),right: $r(app.float.md_padding_margin),bottom: $r(app.float.xl_padding_margin)}).width(Const.WebConstant_NINETY_PERCENT).backgroundColor($r(app.color.text_background))}.alignItems(HorizontalAlign.Start)}}.height(Const.WebConstant_FULL_HEIGHT).alignItems(HorizontalAlign.Start)}.tabBar(Const.FIRST_TABS_BAR)TabContent() {Column() {Search({ placeholder: Const.SEARCH_PLACEHOLDER }).margin({ left: $r(app.float.md_padding_margin), right: $r(app.float.md_padding_margin) }).width(Const.WebConstant_NINETY_PERCENT).searchButton(Const.SEARCH_BUTTON).onSubmit((value: string) {this.hostName value;this.parseHostName(this.hostName);})TextArea({ text: this.ip }).fontSize($r(app.float.lg_font_size)).width(Const.WebConstant_NINETY_PERCENT).height(Const.WebConstant_FIFTY_PERCENT).margin({ top: $r(app.float.md_padding_margin) }).borderRadius($r(app.float.md_border_radius)).focusOnTouch(false)}.height(Const.WebConstant_FULL_HEIGHT).justifyContent(FlexAlign.Start)}.tabBar(Const.SECOND_TABS_BAR)TabContent() {Column() {Row() {Text(Const.MONITOR_TITLE).fontSize($r(app.float.font_size)).margin($r(app.float.md_padding_margin)).fontWeight(FontWeight.Medium)Blank()Toggle({ type: ToggleType.Switch, isOn: false }).selectedColor(Color.Blue).margin({ right: $r(app.float.md_padding_margin) }).width($r(app.float.area_width)).height(Const.WebConstant_BUTTON_HEIGHT).onChange((isOn) {if (isOn) {this.useNetworkRegister();} else {this.unUseNetworkRegister();}})}.height($r(app.float.button_height)).borderRadius($r(app.float.md_border_radius)).margin({ left: $r(app.float.md_padding_margin), right: $r(app.float.md_padding_margin) }).width(Const.WebConstant_NINETY_PERCENT).backgroundColor($r(app.color.text_background))TextArea({ text: this.netStateMessage }).fontSize($r(app.float.font_size)).width(Const.WebConstant_NINETY_PERCENT).height(Const.WebConstant_FIVE_HUNDRED).margin($r(app.float.md_padding_margin)).borderRadius($r(app.float.md_border_radius)).textAlign(TextAlign.Start).focusOnTouch(false)Button($r(app.string.clear)).fontSize($r(app.float.font_size)).width(Const.WebConstant_NINETY_PERCENT).height($r(app.float.area_height)).margin({left: $r(app.float.md_padding_margin),right: $r(app.float.md_padding_margin),bottom: $r(app.float.xxl_padding_margin)}).onClick(() {this.netStateMessage ;})Blank()}.height(Const.WebConstant_FULL_HEIGHT).justifyContent(FlexAlign.Start)}.tabBar(Const.THIRD_TABS_BAR_THREE)}.barWidth(Const.WebConstant_EIGHTY_PERCENT)}.width(Const.WebConstant_FULL_WIDTH)}isNetworkAccess() {connection.hasDefaultNet((error: BusinessError) {if (error) {this.networkId Const.NETWORK_ERROR;Logger.error(hasDefaultNet error: error.message);return;}this.netHandle connection.getDefaultNetSync();this.networkId Const.NETWORK_ID JSON.stringify(this.netHandle);})}getNetworkMessage() {if (this.netHandle) {connection.getNetCapabilities(this.netHandle, (error, netCap) {if (error) {this.netMessage Const.NETWORK_TYPE_ERROR;Logger.error(getNetCapabilities error: error.message);return;}let netType netCap.bearerTypes;for (let i 0; i netType.length; i) {if (netType[i] 0) {this.netMessage Const.CELLULAR_NETWORK;} else if (netType[i] 1) {this.netMessage Const.WIFI_NETWORK;} else {this.netMessage Const.OTHER_NETWORK;}}this.netMessage networkCap: JSON.stringify(netCap.networkCap) \n;})}}getConnectionProperties() {connection.getDefaultNet().then((netHandle: connection.NetHandle) {connection.getConnectionProperties(netHandle, (error: BusinessError, connectionProperties: connection.ConnectionProperties) {if (error) {this.connectionMessage Const.CONNECTION_PROPERTIES_ERROR;Logger.error(getConnectionProperties error: error.code error.message);return;}this.connectionMessage Const.CONNECTION_PROPERTIES_INTERFACE_NAME connectionProperties.interfaceName Const.CONNECTION_PROPERTIES_DOMAINS connectionProperties.domains Const.CONNECTION_PROPERTIES_LINK_ADDRESSES JSON.stringify(connectionProperties.linkAddresses) Const.CONNECTION_PROPERTIES_ROUTES JSON.stringify(connectionProperties.routes) Const.CONNECTION_PROPERTIES_LINK_ADDRESSES JSON.stringify(connectionProperties.dnses) Const.CONNECTION_PROPERTIES_MTU connectionProperties.mtu \n;})});}parseHostName(hostName: string) {this.ip ;connection.getAddressesByName(hostName).then((data) {for (let i 0; i data.length; i) {this.ip data[i].address \n;}}).catch((error: BusinessError) {this.ip Const.GET_ADDRESSES_ERROR;Logger.error(getAddressesByName error: error.message);})}useNetworkRegister() {this.netCon connection.createNetConnection();this.netStateMessage Const.REGISTER_NETWORK_LISTENER;this.netCon.register((error) {if (error) {Logger.error(register error: error.message);return;}promptAction.showToast({message: Const.REGISTER_NETWORK_LISTENER_MESSAGE,duration: 1000});})this.netCon.on(netAvailable, (netHandle) {this.netStateMessage Const.NET_AVAILABLE netHandle.netId \n;})this.netCon.on(netBlockStatusChange, (data) {this.netStateMessage Const.NET_BLOCK_STATUS_CHANGE data.netHandle.netId \n;})this.netCon.on(netCapabilitiesChange, (data) {this.netStateMessage Const.NET_CAPABILITIES_CHANGE_ID data.netHandle.netId Const.NET_CAPABILITIES_CHANGE_CAP JSON.stringify(data.netCap) \n;})this.netCon.on(netConnectionPropertiesChange, (data) {this.netStateMessage Const.NET_CONNECTION_PROPERTIES_CHANGE_ID data.netHandle.netId Const.NET_CONNECTION_PROPERTIES_CHANGE_CONNECTION_PROPERTIES JSON.stringify(data.connectionProperties) \n;})}unUseNetworkRegister() {if (this.netCon) {this.netCon.unregister((error: BusinessError) {if (error) {Logger.error(unregister error: error.message);return;}promptAction.showToast({message: Const.UNREGISTER_NETWORK_LISTENER_MESSAGE,duration: 1000});this.netStateMessage Const.UNREGISTER_NETWORK_LISTENER;})} else {this.netStateMessage Const.UNREGISTER_NETWORK_LISTENER_FAIL;}}
}
以上就是本篇文章所带来的鸿蒙开发中一小部分技术讲解想要学习完整的鸿蒙全栈技术。可以在结尾找我可全部拿到 下面是鸿蒙的完整学习路线展示如下
除此之外根据这个学习鸿蒙全栈学习路线也附带一整套完整的学习【文档视频】内容包含如下 内容包含了ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战等技术知识点。帮助大家在学习鸿蒙路上快速成长 鸿蒙【北向应用开发南向系统层开发】文档
鸿蒙【基础实战项目】视频
鸿蒙面经 为了避免大家在学习过程中产生更多的时间成本对比我把以上内容全部放在了↓↓↓想要的可以自拿喔谢谢大家观看