侵權投訴

基於Java開發的鴻蒙網絡訪問方面的代碼

鴻蒙系統HarmonyOS 2020-10-16 10:40 次閲讀

前言

過了一個漫長的中秋+國慶假期,大傢伙的鴻蒙內功修煉的怎麼樣了?難道像小蒙一樣,都在吃吃喝喝中度過麼,哎,罪過罪過,對不起那些雞鴨魚肉啊,趕緊回來寫篇文章收收心,讓我們一起看看,在鴻蒙中如何發送網絡請求吧。

本文會從Java原生訪問入手,進而再使用Retrofit訪問網絡,可以滿足絕大部分開發者對於鴻蒙網絡訪問方面的代碼需求,開始之前需要先做一下基礎配置。

鴻蒙系統網絡訪問基礎配置

1、跟Android類似,要訪問網絡,我們首先要配置網絡訪問權限,在config.json的"module"節點最後,添加上網絡權限代碼

  "reqPermissions": [        {          "reason": "",          "name": "ohos.permission.INTERNET"        }      ]  

2、配置網絡明文訪問白名單

  "deviceConfig": {      "default": {        "network": {          "usesCleartext": true,          "securityConfig": {            "domainSettings": {              "cleartextPermitted": true,              "domains": [                {                  "subDomains": true,                  "name": "www.baidu.com"                }              ]            }          }        }      }    }

其中的name即為可以直接http訪問的域名,如果全是https鏈接則可以做該不配置,切記域名是不帶//的,切記域名是不帶//的,切記域名是不帶//的,重要的事説三遍。

Java原生訪問網絡

由於鴻蒙系統支持Java開發,所以我們可以直接使用Java原生的Api來進行網絡訪問 該方式使用了java的url.openConnection() Api來獲取網絡數據

HttpDemo.java

  package com.example.demo.classone;    import javax.net.ssl.*;  import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.net.HttpURLConnection;  import java.net.URL;  import java.security.SecureRandom;    public class HttpDemo {      /**       *訪問url,獲取內容       * @param urlStr       * @return       */      public static String httpGet(String urlStr){          StringBuilder sb = new StringBuilder();          try{              //添加https信任              SSLContext sslcontext = SSLContext.getInstance("SSL");//第一個參數為協議,第二個參數為提供者(可以缺省)              TrustManager[] tm = {new HttpX509TrustManager()};              sslcontext.init(null, tm, new SecureRandom());              HostnameVerifier ignoreHostnameVerifier = new HostnameVerifier() {                  public boolean verify(String s, SSLSession sslsession) {                      System.out.println("WARNING: Hostname is not matched for cert.");                      return true;                  }              };              HttpsURLConnection.setDefaultHostnameVerifier(ignoreHostnameVerifier);              HttpsURLConnection.setDefaultSSLSocketFactory(sslcontext.getSocketFactory());              URL url = new URL(urlStr);              HttpURLConnection connection = (HttpURLConnection) url.openConnection();              connection.setRequestMethod("GET");              connection.setReadTimeout(10000);              connection.setConnectTimeout(10000);              connection.connect();              int code = connection.getResponseCode();              if (code == HttpURLConnection.HTTP_OK) {                  BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));                  String temp;                  while ((temp = reader.readLine()) != null) {                      sb.append(temp);                  }                  reader.close();              }              connection.disconnect();          } catch (Exception e) {              e.printStackTrace();              return e.getMessage();          }          return sb.toString();      }  }

HttpX509TrustManager.java

  package com.example.demo.classone;  import javax.net.ssl.X509TrustManager;  import java.security.cert.CertificateException;  import java.security.cert.X509Certificate;    public class HttpX509TrustManager implements X509TrustManager {      @Override      public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {      }        @Override      public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {      }        @Override      public X509Certificate[] getAcceptedIssuers() {          return null;      }  }

最後是測試是否能夠正確訪問的代碼,注意網絡訪問是耗時操作要放線程裏面執行

  new Thread(new Runnable() {          @Override          public void run() {              String result = HttpDemo.httpGet("//www.baidu.com");              HiLog.warn(new HiLogLabel(HiLog.LOG_APP, 0, "===demo==="), "網頁返回結果:"+result);          }      }).start();

採用Retrofit訪問網絡

在模塊的build.gradle裏添加Retrofit庫的引用,我這邊採用的是retrofit2的2.5.0版本做示例

  implementation 'com.squareup.retrofit2:retrofit:2.5.0'      implementation 'com.squareup.retrofit2:converter-gson:2.5.0'      implementation 'io.reactivex.rxjava3:rxjava:3.0.4'

新建ApiManager類用來管理獲取OkHttpClient,SSLSocketClient用來提供https支持,ApiResponseConverterFactory是Retrofit的轉換器,將請求結果轉成String輸出

ApiManager.java

  package com.example.demo.classone;    import com.example.demo.DemoAbilityPackage;  import ohos.app.Environment;  import okhttp3.*;  import retrofit2.Retrofit;    import java.io.File;  import java.util.concurrent.TimeUnit;    /**   * 提供獲取Retrofit對象的方法   */  public class ApiManager {      private static final String BUSINESS_BASE_HTTP_URL = "//www.baidu.com";        private static Retrofit instance;      private static OkHttpClient mOkHttpClient;        private ApiManager(){}        public static Retrofit get(){          if (instance == null){              synchronized (ApiManager.class){                  if (instance == null){                      setClient();                      instance = new Retrofit.Builder().baseUrl(BUSINESS_BASE_HTTP_URL).                              addConverterFactory(ApiResponseConverterFactory.create()).client(mOkHttpClient).build();                  }              }          }          return instance;      }        private static void setClient(){          if (mOkHttpClient != null){              return;          }          Cache cache = new Cache(new File(getRootPath(Environment.DIRECTORY_DOCUMENTS),"HttpCache"),1024*1024*100);          OkHttpClient.Builder builder = new OkHttpClient.Builder()  //                .followRedirects(false)//關閉重定向  //                .addInterceptor(new AppendUrlParamIntercepter())                  .cache(cache)                  .retryOnConnectionFailure(false)                  .sslSocketFactory(SSLSocketClient.getSSLSocketFactory())                  .hostnameVerifier(SSLSocketClient.getHostnameVerifier())                  .readTimeout(8,TimeUnit.SECONDS)                  .writeTimeout(8,TimeUnit.SECONDS)                  .connectTimeout(8, TimeUnit.SECONDS);  //                .protocols(Collections.singletonList(Protocol.HTTP_1_1));          mOkHttpClient = builder.build();          mOkHttpClient.dispatcher().setMaxRequests(100);      }        private static String getRootPath(String dirs) {          String path = DemoAbilityPackage.getInstance().getCacheDir() + "/" + dirs;          File file = new File(path);          if (!file.exists()) {              file.mkdirs();          }          return path;      }  }

SSLSocketClient.java

  package com.example.demo.classone;  import javax.net.ssl.*;  import java.security.SecureRandom;  import java.security.cert.X509Certificate;    public class SSLSocketClient {        //獲取這個SSLSocketFactory      public static SSLSocketFactory getSSLSocketFactory() {          try {              SSLContext sslContext = SSLContext.getInstance("SSL");              sslContext.init(null, getTrustManager(), new SecureRandom());              return sslContext.getSocketFactory();          } catch (Exception e) {              throw new RuntimeException(e);          }      }        //獲取TrustManager      private static TrustManager[] getTrustManager() {          TrustManager[] trustAllCerts = new TrustManager[]{                  new X509TrustManager() {                      @Override                      public void checkClientTrusted(X509Certificate[] chain, String authType) {                      }                        @Override                      public void checkServerTrusted(X509Certificate[] chain, String authType) {                      }                        @Override                      public X509Certificate[] getAcceptedIssuers() {                          return new X509Certificate[]{};                      }                  }          };          return trustAllCerts;      }          //獲取HostnameVerifier      public static HostnameVerifier getHostnameVerifier() {          HostnameVerifier hostnameVerifier = new HostnameVerifier() {              @Override              public boolean verify(String s, SSLSession sslSession) {                  return true;              }          };          return hostnameVerifier;      }  }

ApiResponseConverterFactory.java

  package com.example.demo.classone;    import okhttp3.RequestBody;  import okhttp3.ResponseBody;  import retrofit2.Converter;  import retrofit2.Retrofit;    import java.io.IOException;  import java.lang.annotation.Annotation;  import java.lang.reflect.Type;    /**   * BaseResponse的轉換器   */  public class ApiResponseConverterFactory extends Converter.Factory {        public static Converter.Factory create(){          return new ApiResponseConverterFactory();      }        @Override      public Converter responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) {          return new StringResponseBodyConverter();      }        @Override      public Converter requestBodyConverter(Type type, Annotation[] parameterAnnotations, Annotation[] methodAnnotations, Retrofit retrofit) {          return null;      }        class StringResponseBodyConverter implements Converter {          @Override          public String convert(ResponseBody value) throws IOException {              String s = value.string();              return s;          }      }  }  

開始使用Retrofit書寫業務邏輯

BusinessApiManager.java

  package com.example.demo.classone;    /**   * 服務端訪問接口管理   */  public class BusinessApiManager {        private static BusinessApiService instance;      public static BusinessApiService get(){          if (instance == null){              synchronized (BusinessApiManager.class){                  if (instance == null){                      instance = ApiManager.get().create(BusinessApiService.class);                  }              }          }          return instance;      }  }

BusinessApiService.java

  package com.example.demo.classone;    import retrofit2.Call;  import retrofit2.http.*;    /**   * 服務端訪問接口   */  public interface BusinessApiService {      /**       * 獲取網頁信息       * @param url       * @return       */      @GET()      Call getHtmlContent(@Url String url);  }

測試Retrofit是否能夠正常使用

  BusinessApiManager.get().getHtmlContent("//www.baidu.com").enqueue(new Callback() {      @Override      public void onResponse(Call call, Response response) {          if (!response.isSuccessful() || response.body() == null){              onFailure(null,null);              return;          }          String result = response.body();          HiLog.warn(new HiLogLabel(HiLog.LOG_APP, 0, "===demo==="), "網頁返回結果:"+result);      }        @Override      public void onFailure(Call call, Throwable throwable) {          HiLog.warn(new HiLogLabel(HiLog.LOG_APP, 0, "===demo==="), "網頁訪問異常");      }  });  

總結

鴻蒙是基於Java開發的,所有Java原生api都是可以直接在鴻蒙系統上使用的,另外只要和java相關的庫都是可以直接引用的,例如在引用retrofit的時候也帶入了RxJava。 更多retrofit的使用方式,可以參考retrofit在android系統中的實現,鴻蒙系統基本兼容。
編輯:hfy

收藏 人收藏
分享:

評論

相關推薦

華為Mate40新功能將於10月30日國內發佈會揭曉,機皇配置或成絕唱

華為已經舉行過mate40系列的全球發佈會,而國行版本的發佈會將會在10月30日舉行。很多花粉都以為,國行版跟
的頭像 鴻蒙視界 發表於 10-28 11:18 63次 閲讀
華為Mate40新功能將於10月30日國內發佈會揭曉,機皇配置或成絕唱

EMUI 11、鴻蒙在基本技術上的重用度越來越高

Mate 40系列上預裝的仍然是底層基於安卓的EMUI 11,而發佈多日的鴻蒙OS依然沒有出現在手機....
的頭像 如意 發表於 10-28 09:51 77次 閲讀
EMUI 11、鴻蒙在基本技術上的重用度越來越高

華為:努力推進搭載鴻蒙系統的手機

對於不少用户來説,都很期望看到搭載鴻蒙系統的手機,而按照華為消費者BG軟件部總裁王成錄的説法,這件事....
的頭像 電子魔法師 發表於 10-28 09:26 79次 閲讀
華為:努力推進搭載鴻蒙系統的手機

EMUI 11、鴻蒙OS是什麼關係呢?

Mate 40系列上預裝的仍然是底層基於安卓的EMUI 11,而發佈多日的鴻蒙OS依然沒有出現在手機....
的頭像 工程師鄧生 發表於 10-28 09:24 66次 閲讀
EMUI 11、鴻蒙OS是什麼關係呢?

分析 helloworld程序是如何被調用,SYS_RUN做什麼事情

分析 helloworld程序是如何被調用,SYS_RUN做什麼事情 相信大家都已經在鴻蒙系統上實現了自己的第一個helloworld程序了。...
發表於 10-27 18:15 101次 閲讀
分析 helloworld程序是如何被調用,SYS_RUN做什麼事情

【菜鳥裹裹香港電話】HarmonyOS先行者技術沙龍—— Hello New World!

10月24日,由菜鳥裹裹香港電話承辦的“HarmonyOS先行者技術沙龍——Hello New World!”完美謝幕,現在讓我們一起來回顧本次活動...
發表於 10-27 15:49 101次 閲讀
【菜鳥裹裹香港電話】HarmonyOS先行者技術沙龍—— Hello New World!

Java後端路線學習套路面試經驗有沒有

阿里 騰訊 字節跳動的Java 後端怎麼最容易進?   第一階段看書籍 從書籍當中我們能更加系統的學習。我先推薦...
發表於 10-27 15:46 0次 閲讀
Java後端路線學習套路面試經驗有沒有

華為車載智慧屏與Mate40 系列國行一同發佈,率先搭載鴻蒙OS 2.0

今日,華為終端官方微博宣佈,華為智選車載智慧屏將於10月30日在上海發佈,不出意外將和Mate40系....
的頭像 鴻蒙視界 發表於 10-27 14:04 154次 閲讀
華為車載智慧屏與Mate40 系列國行一同發佈,率先搭載鴻蒙OS 2.0

華為智選車載智慧屏:搭載鴻蒙 OS 2.0 系統 與Mate40 系列一同發佈

今天華為官方宣佈了華為智選車載智慧屏,新品將於 10 月 30 日發佈,屆時國行 Mate40 系列....
的頭像 工程師鄧生 發表於 10-27 13:55 179次 閲讀
華為智選車載智慧屏:搭載鴻蒙 OS 2.0 系統 與Mate40 系列一同發佈

【菜鳥裹裹香港電話】第二次擦肩-內核燒錄教程

誰?我!是你?是我!你終於來了!我終於來了!你終究是來了?我終究是來了!你來幹什麼!我來燒錄內核! 剛拿到開發板,就開...
發表於 10-27 13:04 0次 閲讀
【菜鳥裹裹香港電話】第二次擦肩-內核燒錄教程

一文分享Java的實例教程

Java實例教程
發表於 10-27 11:37 0次 閲讀
一文分享Java的實例教程

Java排序大法大家都知道哪些?直接選擇排序方法怎麼樣?

直接選擇排序怎麼樣?Java排序可以用嗎?
發表於 10-27 06:15 0次 閲讀
Java排序大法大家都知道哪些?直接選擇排序方法怎麼樣?

【菜鳥裹裹香港電話】開關電源電子書+逆變電源+鴻蒙精選資料集錦

1.HarmonyOS資料下載專題簡介:專題彙集了HarmonyOS從入門到精通的各種開發資料,內容包括:設計
的頭像 物聯網星球 發表於 10-26 18:44 167次 閲讀
【菜鳥裹裹香港電話】開關電源電子書+逆變電源+鴻蒙精選資料集錦

鴻蒙系統入門教程 HiSpark Wi-Fi IoT開發套件 開箱入門指導

相信很多人第一次拿到HiSpark Wi-Fi IoT開發套件,都有不知道該做什麼,接下來,我們就來看看我們開箱後可以做哪些吧~~如...
發表於 10-26 18:40 101次 閲讀
鴻蒙系統入門教程 HiSpark Wi-Fi IoT開發套件 開箱入門指導

【菜鳥裹裹香港電話】開關電源電子書+逆變電源+鴻蒙精選資料集錦

簡介:專題彙集了HarmonyOS從入門到精通的各種開發資料,內容包括:設計參考、程序源碼、開發實例、教程筆記等等,為大家節省...
發表於 10-26 18:28 42次 閲讀
【菜鳥裹裹香港電話】開關電源電子書+逆變電源+鴻蒙精選資料集錦

鴻蒙開發板上使用MQTT協議、OneNET實現第一個物聯網項目

通常來説,一個物聯網產品應當包括設備、雲平台、手機APP。我將在鴻蒙系統上移植MQTT協議、OneN....
發表於 10-26 17:27 46次 閲讀
鴻蒙開發板上使用MQTT協議、OneNET實現第一個物聯網項目

鴻蒙開發板上使用MQTT協議、OneNET實現第一個物聯網項目資料

通常來説,一個物聯網產品應當包括設備、雲平台、手機APP。我將在鴻蒙系統上移植MQTT協議、OneNET接入協議,實現手機...
發表於 10-26 17:22 202次 閲讀
鴻蒙開發板上使用MQTT協議、OneNET實現第一個物聯網項目資料

如何使用 HiBurn 工具燒錄鴻蒙的 .bin 文件到 Hi3861 開發板

鴻蒙官方文檔的Hi3861開發板第一個示例程序中描述瞭如何使用 DevEco Device Tool....
的頭像 菜鳥裹裹香港電話網工程師 發表於 10-25 09:23 128次 閲讀
如何使用 HiBurn 工具燒錄鴻蒙的 .bin 文件到 Hi3861 開發板

詳細教程:在鴻蒙系統源碼中添加第三方軟件包

打開鴻蒙系統的源碼,可以看到有這麼一個文件夾:third_party。裏面存放的是第三方的代碼。 點....
的頭像 菜鳥裹裹香港電話網工程師 發表於 10-24 11:12 142次 閲讀
詳細教程:在鴻蒙系統源碼中添加第三方軟件包

在鴻蒙系統中移植Paho-MQTT實現MQTT協議的詳細教程

MQTT 是當前最主流的物聯網通信協議,需要物聯網雲平台,例如華為雲、阿里雲、移動 OneNET 都....
的頭像 菜鳥裹裹香港電話網工程師 發表於 10-24 11:05 329次 閲讀
在鴻蒙系統中移植Paho-MQTT實現MQTT協議的詳細教程

如何把鴻蒙Liteos-a移植到STM32MP157教程

1.make menuconfig演示,修改Kconfig添加 2.Kconfig只是定義Ma....
發表於 10-23 16:44 49次 閲讀
如何把鴻蒙Liteos-a移植到STM32MP157教程

HarmonyOS liteos-a中斷體系

串口只需要實現接收中斷,不需要實現發送中斷:對於APP來説,使用串口打印時,使用發送中斷效率更高。但是由於內核也使用串口...
發表於 10-23 16:42 202次 閲讀
HarmonyOS liteos-a中斷體系

學習Java有前途嗎?Java崗位飽和了嗎?這篇文告訴你!

現在學Java有前途嗎?Java崗位飽和了嗎?學Java前途是有的,Java流行的網絡編程語言之一,....
的頭像 如意 發表於 10-23 16:25 226次 閲讀
學習Java有前途嗎?Java崗位飽和了嗎?這篇文告訴你!

淺談鴻蒙內核代碼調度隊列

鴻蒙內核代碼中有兩個源文件是關於隊列的,一個是用於調度的隊列,另一個是用於線程間通訊的IPC隊列。
的頭像 鴻蒙系統HarmonyOS 發表於 10-23 11:00 121次 閲讀
淺談鴻蒙內核代碼調度隊列

Python受歡迎程度直上升 即將超過Java

來自:程序猿(ID:imkuqin) TIOBE已公佈2020年10月的編程語言排行榜。C語言依然排....
的頭像 人工智能與大數據技術 發表於 10-23 10:41 247次 閲讀
Python受歡迎程度直上升 即將超過Java

華為Mate40正式發佈:旗艦高水準,搭載麒麟9000

華為在10月22日晚發佈了重磅新品旗艦——華為Mate40系列,時隔一年,華為將它自身科技結合的最高水準傾注在
的頭像 鴻蒙視界 發表於 10-23 10:17 246次 閲讀
華為Mate40正式發佈:旗艦高水準,搭載麒麟9000

APP配網【菜鳥裹裹香港電話】

連老師:鴻蒙系統相關的知識整理成文檔,這裏分享給大家。主要是hi3861芯片。後續還會持續更新~~目....
發表於 10-22 17:28 35次 閲讀
APP配網【菜鳥裹裹香港電話】

HiSpark_WiFi_IoT智能開發原理圖硬件資料

這是一份HiSpark_WiFi_IoT 物聯網套件原理圖硬件資料,希望能幫到需要的小夥伴。
發表於 10-22 17:08 43次 閲讀
HiSpark_WiFi_IoT智能開發原理圖硬件資料

Mate40搶先曝光:60w快充+雙模5G+鴻蒙系統,真旗艦機!

自蘋果官方公佈了iPhone12的發佈時間後,許多網友也開始頻頻關注華為即將發佈的Mate40系列手機,畢竟華
的頭像 鴻蒙視界 發表於 10-21 15:05 339次 閲讀
Mate40搶先曝光:60w快充+雙模5G+鴻蒙系統,真旗艦機!

SQL和Java的代碼寫法

根據查詢條件查出來的條數越多,性能提升的越明顯,在某些情況下,還可以減少聯合索引的創建。
的頭像 數據分析與開發 發表於 10-21 10:35 183次 閲讀
SQL和Java的代碼寫法

HarmonyOS鴻蒙系統的入門學習課件免費下載

Ability 是應用所具備能力的抽象,也是應用程序的重要組成部分。一個應用可以具備多種能力(即可以....
發表於 10-21 08:00 41次 閲讀
HarmonyOS鴻蒙系統的入門學習課件免費下載

鴻蒙系統移植:編譯第一個APP:hello

我們在Ubuntu中給PC機編譯程序時,執行這樣的命令: gcc -o hello hello.c....
發表於 10-20 16:18 45次 閲讀
鴻蒙系統移植:編譯第一個APP:hello

第2節《鴻蒙OS開發環境搭建》

今天給大家帶來的文檔主要包含以下知識點: 1、Linux構建工具要求; 2、Windows開發工....
發表於 10-20 15:48 47次 閲讀
第2節《鴻蒙OS開發環境搭建》

第4節《鴻蒙OS應用程序開發》

這份學習文檔主要是帶領大家在鴻蒙OS上學習開發一個應用程序,主要知識點如下: 1、U-Boot引導....
發表於 10-20 15:40 59次 閲讀
第4節《鴻蒙OS應用程序開發》

HiSpark_IPC_DIY攝像頭資料

HiSpark_IPC_DIY攝像頭開發套件採用海思 3518EV300 系列 AI DSP,F23....
發表於 10-20 15:25 66次 閲讀
HiSpark_IPC_DIY攝像頭資料

美的首批搭載鴻蒙系統的廚電亮相“科技月”,創新產品吸睛

美的向科技企業轉型,成效如何?探路數字化、智能化,“成色”幾何?就在日前,一年一度、被譽為美的“科技奧斯卡”的
的頭像 鴻蒙視界 發表於 10-20 11:41 350次 閲讀
美的首批搭載鴻蒙系統的廚電亮相“科技月”,創新產品吸睛

HarmonyOS_HDF框架(直播課件)

Liteos-a中驅動程序也跟Linux類似,Linux使用設備樹描述硬件信息,驅動程序從設備樹裏獲....
發表於 10-19 15:13 40次 閲讀
HarmonyOS_HDF框架(直播課件)

HarmonyOS 內核文檔

從系統的角度看,進程是資源管理單元。進程可以使用或等待 CPU、使用內存 空間等系統資源,並獨立於....
發表於 10-19 14:50 64次 閲讀
HarmonyOS 內核文檔

2020年10月編程語言排行榜:Python即將超過Java

來源:菜鳥教程 TIOBE 2020 年 10 月份的編程語言排行榜已經公佈,官方的標題是:Pyth....
的頭像 inr999 發表於 10-19 11:37 306次 閲讀
2020年10月編程語言排行榜:Python即將超過Java

華為為什麼要做鴻蒙操作系統?

首先聲明,本文僅代表筆者本人的看法。信我就正確,不信我就未必正確。 華為的朋友給我申請了一個特邀碼,....
的頭像 Linuxer 發表於 10-19 10:03 726次 閲讀
華為為什麼要做鴻蒙操作系統?

一文詳解Java動態調試技術

調試是發現和減少計算機程序或電子儀器設備中程序錯誤的一個過程。最常用的斷點調試技術會在斷點位置停頓,....
的頭像 陳翠 發表於 10-18 11:33 488次 閲讀
一文詳解Java動態調試技術

一文知道Java中接口的定義

使用interface來定義一個接口。接口定義同類的定義類似,也是分為接口的聲明和接口體,其中接口體....
發表於 10-16 15:44 183次 閲讀
一文知道Java中接口的定義

鴻蒙系統預計明年初正式應用到手機,小米、OV是否會選擇使用鴻蒙系統?

由於華為消費者業務CEO已經確認:鴻蒙系統今年年底就要開始在手機上使用,並在明年開始,華為手機將全面使用鴻蒙O
的頭像 鴻蒙視界 發表於 10-16 15:43 524次 閲讀
鴻蒙系統預計明年初正式應用到手機,小米、OV是否會選擇使用鴻蒙系統?

令人驚喜!麒麟芯片+方舟編譯器,鴻蒙系統徹底解決卡頓問題

最近幾年來,華為榮耀手機在流暢度方面逐漸走在了國產前面,甚至可以這樣説,已經走在了三星的前面,雖然和蘋果還是有
的頭像 鴻蒙視界 發表於 10-16 15:04 421次 閲讀
令人驚喜!麒麟芯片+方舟編譯器,鴻蒙系統徹底解決卡頓問題

HarmonyOS 內核設計程序文檔

HarmonyOS 內核的進程模塊可以給用户提供多個進程,實現了進程之間的切換和通信,幫助用户管理業....
發表於 10-16 14:53 36次 閲讀
HarmonyOS 內核設計程序文檔

HarmonyOS智慧屏設計文檔

智慧屏採用了自然簡單,符合直覺的設計原則,讓全家人輕鬆簡單的使用智慧屏。基於對用户生活、娛樂習慣的洞....
發表於 10-16 14:42 31次 閲讀
HarmonyOS智慧屏設計文檔

HarmonyOS智能穿戴應用設計文檔

為構建一致且易用的操作體驗,我們總結了這份設計指南,對應用設計提供指導,適用於智能穿戴和輕量級智能穿....
發表於 10-16 14:36 48次 閲讀
HarmonyOS智能穿戴應用設計文檔

HarmonyOS IoT應用設計文檔

在萬物互聯的新時代,HarmonyOS 會盡最大努力為用户打造簡單易用的 IoT 設備使用體驗。通過....
發表於 10-16 14:13 35次 閲讀
HarmonyOS IoT應用設計文檔

OpenHarmony:跨越邊界 有你有我

菜鳥裹裹香港電話網報道(文/黃山明)2020年10月15日,開放原子開源基金會OpenHarmony分論壇....
的頭像 Simon觀察 發表於 10-16 10:45 2446次 閲讀
OpenHarmony:跨越邊界 有你有我

【菜鳥裹裹香港電話】鴻蒙1024技術沙龍—— Hello New World! 火熱報名中

大會介紹: HarmonyOS 2.0開源一月有餘,業界關於HarmonyOS應用方向、硬件開發、市....
的頭像 鴻蒙視界 發表於 10-15 20:59 671次 閲讀
【菜鳥裹裹香港電話】鴻蒙1024技術沙龍—— Hello New World! 火熱報名中

HarmonyOS設備應用開發文檔

HarmonyOS 針對汽車場景提供了駕駛安全管控和車輛控制能力集,幫助開發 者構建車載控制平台上....
發表於 10-15 15:17 39次 閲讀
HarmonyOS設備應用開發文檔

HarmonyOS開發文檔(二)

HarmonyOS 視頻模塊支持視頻業務的開發和生態開放,開發者可以通過已開放的接口很容易地實現視頻....
發表於 10-15 14:47 31次 閲讀
HarmonyOS開發文檔(二)

HarmonyOS開發文檔(一)

華為自有開源操作系統鴻蒙OS,鴻蒙OS憑藉多終端開發IDE,多語言統一編譯,分佈式架構Kit提供屏幕....
發表於 10-15 14:15 50次 閲讀
HarmonyOS開發文檔(一)

HarmonyOS智能硬件設備虛擬化特性開發

在這個 Codelab 中,你將能夠使用 HUAWEI DevEco Device Tool 完成攝....
發表於 10-15 11:32 42次 閲讀
HarmonyOS智能硬件設備虛擬化特性開發

HarmonyOS應用設計文檔

當為多款不同的設備開發應用時,除了要考慮每個設備的獨特特性外,還需要考慮多個設備的共性,並使用通用性....
發表於 10-15 11:22 30次 閲讀
HarmonyOS應用設計文檔

HarmonyOS Codelabs設備虛擬化特性開發

在這個 Codelab 中,您將能夠使用 HUAWEI DevEco Device Tool 完成攝....
發表於 10-15 11:10 26次 閲讀
HarmonyOS Codelabs設備虛擬化特性開發

JFinal的源代碼資料合集

JFinal 是基於Java 語言的極速 web 開發框架,其核心設計目標是開發迅速、代碼量少、學習....
發表於 10-15 08:00 27次 閲讀
JFinal的源代碼資料合集

【菜鳥裹裹香港電話】鴻蒙資料專題+電路原理圖集錦分享

1.鴻蒙系統資料專題簡介:為方便廣大鴻蒙開發者而建立的專題,本專題將對HarmonyOS全面解析,彙集了鴻蒙系
的頭像 物聯網星球 發表於 10-14 19:01 537次 閲讀
【菜鳥裹裹香港電話】鴻蒙資料專題+電路原理圖集錦分享

HarmonyOS Codelabs軟件應用示例操作指南

HarmonyOS 是面向全場景多終端的分佈式操作系統,使得應用程序的開發打破了智能終端 互通的性能....
發表於 10-14 15:31 27次 閲讀
HarmonyOS Codelabs軟件應用示例操作指南

HarmonyOS Codelabs軟件應用視頻操作指南

HarmonyOS 是面向全場景多終端的分佈式操作系統,使得應用程序的開發打破了智能終 端互通的性....
發表於 10-14 14:24 30次 閲讀
HarmonyOS Codelabs軟件應用視頻操作指南