当前位置: 首页 > news >正文

黄冈公司网站推广软件首选seo 推广怎么做

黄冈公司网站推广软件首选,seo 推广怎么做,比较好看的网站设计,做物流公司网站哪家好文章目录 摘要项目功能概述代码模块详细说明创建 Wi-Fi 状态保存对象Wi-Fi 状态监听模块获取当前 Wi-Fi 信息整合主模块 运行效果展示性能分析总结 摘要 本文展示了如何使用 HarmonyOS 框架开发一个 Demo,用于监听手机的 Wi-Fi 状态变化并实时获取连接的 Wi-Fi 信息…

在这里插入图片描述

在这里插入图片描述

文章目录

    • 摘要
    • 项目功能概述
    • 代码模块详细说明
      • 创建 Wi-Fi 状态保存对象
      • Wi-Fi 状态监听模块
      • 获取当前 Wi-Fi 信息
      • 整合主模块
    • 运行效果展示
    • 性能分析
    • 总结

摘要

本文展示了如何使用 HarmonyOS 框架开发一个 Demo,用于监听手机的 Wi-Fi 状态变化并实时获取连接的 Wi-Fi 信息。通过订阅 Wi-Fi 状态事件,我们实现了 Wi-Fi 状态的动态监听,并在状态变化时调用方法刷新 Wi-Fi 详情。

项目功能概述

本 Demo 主要实现以下功能:

  1. Wi-Fi 状态监听:实时监测 Wi-Fi 连接状态的变化(如连接中、已连接、断开连接等)。
  2. Wi-Fi 信息获取:动态获取当前连接 Wi-Fi 的 SSID 和 MAC 地址。
  3. 事件驱动回调:通过事件订阅机制,在 Wi-Fi 状态变化时触发回调并更新 UI。

代码模块详细说明

创建 Wi-Fi 状态保存对象

CommonEventBean 是一个简单的类,用于保存 Wi-Fi 的当前状态以及订阅者对象。

export class CommonEventBean {/*** Wi-Fi 当前状态的描述。*/state: string = '初始化状态';/*** 保存事件订阅者对象。*/subscriber: any = null;
}

Wi-Fi 状态监听模块

通过 CommonEventManager.createSubscriber 创建订阅者,监听 Wi-Fi 状态的变化事件。

核心功能包括:

  1. 根据状态变化更新 CommonEventBeanstate 属性。
  2. 当状态为“已连接”时,触发后续 Wi-Fi 信息获取方法。

代码实现如下:

export class WifiStatusListener {subscribe(commonEventItem: CommonEventBean, callback: Function): void {const subscribeInfo = { events: ['CommonConstants.CONN_STATE'] };let toastMsg: string;CommonEventManager.createSubscriber(subscribeInfo, (err, subscriber) => {if (err || subscriber === null) {toastMsg = '创建订阅失败';callback(commonEventItem, toastMsg);return;}commonEventItem.subscriber = subscriber;CommonEventManager.subscribe(subscriber, (err, data) => {if (err) {toastMsg = '订阅失败';callback(commonEventItem, toastMsg);return;}const connState = data?.data;if (connState) {switch (connState) {case 'connecting':commonEventItem.state = 'Wi-Fi 连接中';break;case 'connected':commonEventItem.state = 'Wi-Fi 已连接';break;case 'disconnected':commonEventItem.state = 'Wi-Fi 已断开';break;default:commonEventItem.state = '未知状态';}}callback(commonEventItem);});toastMsg = '订阅成功';callback(commonEventItem, toastMsg);});}unsubscribe(commonEventItem: CommonEventBean, callback: Function): void {if (commonEventItem.subscriber) {CommonEventManager.unsubscribe(commonEventItem.subscriber, () => {callback('已成功退订');});}}
}

获取当前 Wi-Fi 信息

该模块通过 wifiManager 获取设备当前连接的 Wi-Fi 信息。

主要功能包括:

  1. 检测 Wi-Fi 是否已激活。
  2. 获取 Wi-Fi 的 SSIDMAC 地址并进行格式化处理。

代码如下:

export class WifiInfoHandler {wifiViewUpdates(): void {try {const isWifiActive: boolean = wifiManager.isWifiActive();if (isWifiActive) {this.showLinkedInfo();} else {console.info('Wi-Fi 未激活');}} catch (error) {console.error(`Wi-Fi 状态检查失败,错误码: ${(error as BusinessError).code}`);}}showLinkedInfo(): void {wifiManager.getLinkedInfo().then((linkedInfo) => {const ssid = linkedInfo.ssid.replace(/^"|"$/g, '');const bssid = linkedInfo.macAddress;console.info(`当前连接的 Wi-Fi SSID: ${ssid}`);console.info(`Wi-Fi MAC 地址: ${bssid}`);}).catch((err) => {console.error(`获取 Wi-Fi 信息失败: ${err}`);});}
}

整合主模块

将 Wi-Fi 状态监听和信息获取功能整合到主程序中:

const commonEventBean = new CommonEventBean();
const wifiListener = new WifiStatusListener();
const wifiHandler = new WifiInfoHandler();wifiListener.subscribe(commonEventBean, (event, msg) => {console.info(`状态: ${event.state}`);if (msg) {console.info(`消息: ${msg}`);}if (event.state === 'Wi-Fi 已连接') {wifiHandler.wifiViewUpdates();}
});

运行效果展示

示例输出 1(Wi-Fi 连接中):

状态: Wi-Fi 连接中

示例输出 2(Wi-Fi 已连接):

状态: Wi-Fi 已连接  
当前连接的 Wi-Fi SSID: MyHomeWiFi  
Wi-Fi MAC 地址: 00:1A:2B:3C:4D:5E  

示例输出 3(Wi-Fi 已断开):

状态: Wi-Fi 已断开  

性能分析

  • 时间复杂度

    • Wi-Fi 状态监听:实时事件触发,复杂度为 (O(1))。
    • Wi-Fi 信息获取:getLinkedInfo 为同步操作,复杂度为 (O(1))。
  • 空间复杂度

    • 使用少量对象和事件订阅,复杂度为 (O(1))。

总结

通过本文的代码实现,开发者可以:

  1. 动态监听 Wi-Fi 的连接状态并实时更新。
  2. 获取当前连接的 Wi-Fi 信息,为应用提供更智能的网络交互功能。

此 Demo 结构清晰,模块化设计方便扩展,适用于需要实时监控网络状态的场景。

http://www.khdw.cn/news/914.html

相关文章:

  • 家用电脑做网站能备案长沙市seo百度关键词
  • 鄂州网站建设报价百度客户端下载
  • 花钱让别人做的网站版权是谁的关键词优化步骤简短
  • 网站建设唯美谷网站河北网站seo地址
  • 自动生成logo厦门seo排名收费
  • 长沙点梦网站建设公司怎么样汕头seo排名收费
  • flashfxp上传了网站希爱力双效片骗局
  • 一级做a爰片香蕉视频网站超级seo外链工具
  • 温州网站建设得花多少钱网络媒体推广报价
  • windows下搭建wordpress网站产品怎么优化
  • 2015做啥网站致富网络销售模式有哪些
  • 外贸网站用什么空间打广告去哪个平台免费
  • 青岛网站设计皆挺青岛博采网络黄山seo
  • 制作软件网站搜索引擎哪个好
  • 厦门市政府网站群建设品牌推广软文200字
  • 怎么做彩票平台网站吗举一个网络营销的例子
  • 石狮做网站可以免费打广告的网站
  • 怎么做网站搜索引擎利于搜索网络推销
  • 网站后台制作教程网络推广方法有哪些
  • 做印刷品的素材网站如何免费自己创建网站
  • dw内部网站链接怎么做软文推广多少钱一篇
  • c web网站开发框架百度指数热度榜
  • 网站做https好处seo外链收录
  • 网站ui设计给用户提交什么十大免费网站推广平台
  • 汇算清缴在哪个网站上做快速排名优化推广排名
  • 软件公司网站东莞网站建设哪家公司好
  • 照片网站模板seo推广视频隐迅推专业
  • 专门做瓷砖的网站广州网站推广软件
  • 绵阳 网站 建设谷歌优化技巧
  • 常州建设局网站首页北京网站维护公司