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

静态网站开发语言有哪些google浏览器官方下载

静态网站开发语言有哪些,google浏览器官方下载,css3动画效果网站,wordpress 博客 简书从零开始开发纯血鸿蒙应用 〇、前言一、认识 connection 模块1、获取默认网络2、获取网络能力信息3、解析网络能力信息3.1、NetCap3.2、NetBearType 二、实现网络检测功能1、申请权限2、获取默认网路的 NetCap 数组 三、总结 〇、前言 在之前的博文里,介绍了如何实…

从零开始开发纯血鸿蒙应用

  • 〇、前言
  • 一、认识 connection 模块
    • 1、获取默认网络
    • 2、获取网络能力信息
    • 3、解析网络能力信息
      • 3.1、NetCap
      • 3.2、NetBearType
  • 二、实现网络检测功能
    • 1、申请权限
    • 2、获取默认网路的 NetCap 数组
  • 三、总结

〇、前言

在之前的博文里,介绍了如何实现简单的 RSS 订阅功能,然而,当时是默认手机处于有网状态的,这显然是有缺陷的,因为手机必然会出现无网络的时候,而鸿蒙 SDK 中 WebView 并没有提供默认的白页,也即当手机无网时,用WebView 实现的页面不会有什么网络状态相关的提示,就更不用说那些显示内容来自网络请求的原生页面。

为了提高用户的体验,APP 必然需要具备网络检测能力,当出现网络连接断开时,可以给出相应的正确提示,那么,在鸿蒙应用中,如何才能实现这一功能呢?下面就像大家介绍如何使用 connection 模块实现网络检测能力。

一、认识 connection 模块

在鸿蒙SDK中,有一个专门负责网络相关功能的 Network Kit,其中又包含名为 @ohos.net.connection的网络连接管理模块,提供管理网络的一些基础能力,如获取默认网络及其网络能力信息

使用 connection 模块完成网络检测,可以按照如下步骤进行:
1)获取默认网络对应的 handle 实例
2)利用 NetHandle 获取具体的网络能力信息
3)解析网络能力信息,判断网络类型以及连接状态

1、获取默认网络

想要获取鸿蒙设备的默认网络对应的 handle 实例,可以使用 connection 模块提供的 getDefaultNet 方法,或者使用对应的非异步方法 getDefaultNetSync;使用异步回调的方法,则需要透传一个回调函数,而 Promise 方式的异步方法和同步方法,都不需要透传参数。
在这里插入图片描述

2、获取网络能力信息

这一步,可以使用 connection 模块的 getNetCapabilities 方法或 getNetCapabilitiesSync 方法,这两个方法都需要透传一个 NetHandle 类型的参数,也就是上一步的结果。
在这里插入图片描述
getNetCapabilitiesSync 方法或 getNetCapabilities 方法返回的 NetCapabilities 对象中,包含了一下网络能力相关的信息:
在这里插入图片描述
主要就是网速、网络连接状态和网络类型。
在这里插入图片描述

3、解析网络能力信息

主要就是进一步解析 NetCapabilities 对象中包含的 networkCap 字段和 bearerTypes 字段。

3.1、NetCap

NetCap 对象,表示网络具体能力,是一个枚举值类型,当前版本的 API 中,一共有如下7个枚举值:

  1. NET_CAPABILITY_MMS:表示网络可以访问运营商的MMSC(Multimedia Message Service,多媒体短信服务)发送和接收彩信。
  2. NET_CAPABILITY_NOT_METERED:表示网络流量未被计费
  3. NET_CAPABILITY_INTERNET:表示该网络应具有访问Internet的能力,该能力由网络提供者设置,但该网络访问Internet的连通性并未被网络管理成功验证。
  4. NET_CAPABILITY_NOT_VPN:表示网络不使用VPN(Virtual Private Network,虚拟专用网络)。
  5. NET_CAPABILITY_VALIDATED:表示网络管理通过该网络与华为云地址成功建立连接,该能力由网络管理模块设置。请注意,网络管理可能会与华为云地址建立连接失败,导致网络能力不具备此标记位,但不完全代表该网络无法访问互联网。另外,对于新完成连接的网络,由于网络正在进行连通性验证,此值可能无法反映真实的验证结果。
  6. NET_CAPABILITY_PORTAL:表示系统发现该网络存在强制网络门户,需要用户登陆认证,该能力由网络管理模块设置。
  7. NET_CAPABILITY_CHECKING_CONNECTIVITY:表示网络管理正在检验当前网络的连通性,此值会在网络连接时设置,直到连通性检测结束后不再设置,当此值存在时,NET_CAPABILITY_VALIDATED的值可能不准确。

如果,通过 getNetCapabilitiesSync 方法获取到的 NetCapabilities 对象中的 NetCap 数组,就包含了 NET_CAPABILITY_INTERNET 或 NET_CAPABILITY_VALIDATED,就表明具有访问互联网的能力。

3.2、NetBearType

网络类型,具体分为如下:
在这里插入图片描述

二、实现网络检测功能

1、申请权限

由于网络检测功能,需要使用到设备硬件,因此,需要向系统申请权限,具体权限名为 ohos.permission.GET_NETWORK_INFO,由于该权限是非受限的,可以直接在 entry 模块的 module.json5 文件中配置:
在这里插入图片描述

2、获取默认网路的 NetCap 数组

由于网络检测功能,可以作为APP的基础功能,在多个页面中进行使用,因此,可以在 util 模块中,实现一个 NetworkCapabilityUtil 方法,并在其中实现获取 NetHandle 和 NetCapabilities 等对象的方法:
在这里插入图片描述
结合 NetworkCapabilityUtil 类的 getNetworkCapability 方法,在需要集成网络检测功能的页面,封装一个进一步判断网络能力的方法:
在这里插入图片描述
两相结合,再加上适当的辅助代码,就可以完成网络检测:
在这里插入图片描述
像这段代码,可以放在任意一个点击之后需要访问互联网的组件的点击事件处理函数中。而类似网络类型的解析,则可以用如下代码实现:
在这里插入图片描述

三、总结

鸿蒙设备如手机,虽然可以同时打开数据开关和WIFI开关,但具体访问网络时,通常只会使用到一种网络连接,默认情况下,WIFI优先级高于手机数据,因此,有WIFI的情况下,默认网络就是WIFI,没有WIFI的情况下默认网络就是手机数据(蜂窝网络)。

特别的,在一些IoT应用场景,如查看监控视频的APP,则需要反其道行之,即当默认网络为无互联网访问能力的时候,才表示与监控的连接是没有断开的,反之,当默认网络变成了可以访问互联网的,则意味着与监控的连接断开了。

http://www.dtcms.com/wzjs/195159.html

相关文章:

  • 网站建设 预付款免费二级域名注册网站有哪些
  • 女生做网站运营累不累软文大全500篇
  • 做社区网站用什么程序网络营销的特点是什么?
  • 做创意ppt网站有哪些方面自助建站网
  • 网站建设需要使用阿里云吗排超最新积分榜
  • 婚庆行业网站建设方案1郑州网络营销推广
  • 同仁微网站建设工作室快速排名优化推广排名
  • 海尔网站推广策划方案网站百度手机端排名怎么查询
  • java 网站建设市场推广和销售的区别
  • 阿里巴巴国际站运营模式今日头条新闻最新疫情
  • 湘潭市高新建设局网站百度知识营销
  • 欧美风格网站搜索引擎优化的技巧有哪些
  • wordpress 清新主题seo网站的优化流程
  • 网站推广服务怎么做最好用的搜索神器
  • 政府网站建设申论百度推广搜索排名
  • 雅安做网站的公司什么叫外链
  • 做众筹网站要什么资质杭州网站设计制作
  • 网站开发费属于研发费用吗新品推广活动方案
  • 可以做公众号的网站吗搜索引擎提交入口大全
  • 网站开发写好了怎么发布九易建网站的建站流程
  • 自建电商网站有哪些宁波关键词优化品牌
  • 织梦网站数据下载百度竞价被换着ip点击
  • 中国工程建设网站软文营销的写作技巧有哪些
  • 做网站好网站开发教程
  • 网站系统建设思想如何写如何开网站详细步骤
  • wordpress 文章分类idseo运营推广
  • 钦州网站建设现在感染症状有哪些
  • 如何制作网站模板搜索引擎优化是什么?
  • idea做网站整站优化排名
  • 网站建设类型报价表百度云资源搜索入口