codecamp

鸿蒙OS 使用指定网络进行数据访问

场景介绍

应用可以调用 API 接口来使用指定网络进行数据传输。在进行数据传输前,需要先建立自定义的网络类型。

接口说明

应用使用指定网络进行数据访问,所使用的接口说明如下。

类名 接口名 功能描述
NetSpecifier Builder() 创建一个指定网络实例。
NetManager setupSpecificNet(NetSpecifier netSpecifier, NetStatusCallback callback) 建立指定的数据网络。
removeNetStatusCallback(NetStatusCallback callback) 停止获取数据网络状态。

开发步骤

  1. 调用 NetSpecifier.Builder( )构建指定数据网络的实例。

  1. 调用 NetManager.setupSpecificNet() 建立数据网络,通过 callback 获取网络状态变化。

  1. 进行数据发送。

   NetManager netManager = NetManager.getInstance(null);

    
   private class MmsCallback extends NetStatusCallback {
       @Override
       public void onAvailable(NetHandle netHandle) {
           // 通过setAppNet把后续应用所有的请求都通过该网络进行发送
           netManager.setAppNet(netHandle);

    
           try {
               HttpURLConnection connection = null;
               String urlString = "https://www.huawei.com/";
               URL url = new URL(urlString);
               URLConnection urlConnection = netHandle.openConnection(url, java.net.Proxy.NO_PROXY);
               if (urlConnection instanceof HttpURLConnection) {
                   connection = (HttpURLConnection) urlConnection;
               }
               connection.setRequestMethod("GET");
               connection.connect();
               // 之后可进行url的其他操作
           } finally {
               connection.disconnect();
           }

           
           // 如果业务执行完毕,可以停止获取
           netManager.removeNetStatusCallback(this);
       }
   }

    
   MmsCallback callback = new MmsCallback();

    
   // 配置一个彩信类型的蜂窝网络
   NetSpecifier req = new NetSpecifier.Builder()
       .addCapability(NetCapabilities.NET_CAPABILITY_MMS)
       .addBearer(NetCapabilities.BEARER_CELLULAR)
       .build();

    
   // 建立数据网络,通过callback获取网络变更状态
   netManager.setupSpecificNet(req, callback);
鸿蒙OS 使用当前网络进行Socket数据传输
鸿蒙OS 流量统计
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }