Harmony OS WiFi编程——连接热点、创建热点,2024年最新HarmonyOS鸿蒙高级工程师面试题及答案

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新HarmonyOS鸿蒙全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img

img
img
htt

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注鸿蒙)
img

正文

  1. 首先,需要使用RegisterWifiEvent接口,向系统注册状态监听函数,STA模式需要绑定两个回调;
  2. 然后,通过AddDeviceConfig接口,向系统添加热点配置,它有两个参数;
  • 第一个参数config,类型为const WifiDeviceConfig*,用于指定热点配置;
  • 第二个参数result,类型为int*,用于操作成功时返回netId
  1. 连接热点使用ConnectTo接口,他有一个参数;
  • netId,类型为int,应该使用AddDeviceConfig接口调用成功之后result参数得到值填充;
  1. ConnectTo是同步的,连接成功失败会通过返回值体现;
  • 同时,系统也会通过回调函数通知应用代码;
  1. 连接成功后,需要调用DHCP客户端,从热点获取IP地址;
  • struct netif* iface = netifapi_netif_find("wlan0"); 获取STA模式的网络接口
  • err_t netifapi_dhcp_start(struct netif*)接口,启动DHCP客户端;
  1. 断开热点使用Disconnect接口,无需参数,端口之前需要:
  • err_t netifapi_dhcp_stop(struct netif*)接口,停止DHCP客户端;
  1. 删除热点配置使用RemoveDevice,参数和ConnectTo类似,
  • 需要使用AddDeviceConfig接口调用成功之后result参数得到值填充;

AP模式编程指南

AP模式API接口

创建WiFi热点

在Harmony OS上创建WiFi热点,通用有一些事项需要注意:

  1. 首先,需要使用RegisterWifiEvent接口,向系统注册扫描状态监听函数,用于接收扫描状态通知,AP模式需要绑定三个函数;
  • OnHotspotStaJoin回调函数,其他设备连上当前热点时会被调用,参数StationInfo* info,其中包含macAddressdisconnectedReason
  • OnHotspotStaLeave回调函数,其他设备断开当前热点时会被调用,参数StationInfo* info
  • OnHotspotStateChanged回调函数,当热点本身状态变化时会被调用,参数int state表示热点状态;
  1. 然后,通过SetHotspotConfig接口,向系统设置当前热点配置信息;
  2. 是用EnableHotspot接口,开启热点,无需参数;
  3. 热点开启成功之后,需要启动DHCP服务端,Hi3861上使用如下SDK接口;
  • g_iface = netifapi_netif_find("ap0");,获取AP模式的网口
  • 使用netifapi_netif_set_addr接口设置热点本身的IP地址、网关、子网掩码;
  • 使用netifapi_dhcps_start接口启动DHCP服务端;
  • 使用netifapi_dhcps_stop接口停止DHCP服务端;
  1. 使用DisableHotspot接口关闭热点;
  2. 使用UnRegisterWifiEvent接口解除事件监听;

如何编译

有两种方法可以编译此目录下的样例程序:

  1. 前两章中的方法——将当前目录下的*.c文件和BUILD.gn拷贝到openharmony源码的applications\sample\wifi-iot\app\iothardware目录下;

  2. 再修改openharmony源码的applications\sample\wifi-iot\app\BUILD.gn文件,将其中的 features 改为:iothardware:wifi_demo

  3. 再修改applications\sample\wifi-iot\app\iothardware\BUILD.gn文件,决定需要编译哪个.c文件;

  4. 在openharmony源码顶层目录执行:python build.py wifiiot

  5. 可以将本仓整体拷贝到openharmony源码树下,和applications同级;

  6. 修改openharmony源码的build\lite\product\wifiiot.json文件,将其中的:

//applications/sample/wifi-iot/app替换为://HarmonyOS-IoT-Application-Development:app
2. 在openharmony源码顶层目录执行:python build.py wifiiot

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05
  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

开发基础知识:https://qr21.cn/FV7h05
  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05
  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

取:vip204888 (备注鸿蒙)**
[外链图片转存中…(img-z4YJjXAb-1713289904964)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值