侵權投訴

基於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

收藏 人收藏
分享:

評論

相關推薦

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

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

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

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

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

1.make menuconfig演示,修改Kconfig添加 2.Kconfig只是定義Ma....
發表於 10-23 16:44 22次 閲讀
如何把鴻蒙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 140次 閲讀
學習Java有前途嗎?Java崗位飽和了嗎?這篇文告訴你!

【丹陽到香港快遞】_liteos-a用內存模擬flash

移植一個最小系統要做什麼事情?首先,串口驅動:方便調試;地址映射:虛擬地址-物理地址;完善中斷子系統:至少提供TIck中斷;...
發表於 10-23 16:22 202次 閲讀
【丹陽到香港快遞】_liteos-a用內存模擬flash

鴻蒙shell命令:tftp

首先確定的是TFTP服務器是沒有問題的,然後我在OHOS下執行:tftp -p -l /bin -r 000.hap 192.168.1.191 然後返回 T...
發表於 10-23 12:13 39次 閲讀
鴻蒙shell命令:tftp

三星意圖瓜分華為市場份額 華為鴻蒙系統被寄予厚望

大家都知道,我國的科技技術在日益壯大,自從智能手機被推出了以後,華為除了在國內市場上受到了很多消費者....
的頭像 鴻蒙系統HarmonyOS 發表於 10-23 11:12 336次 閲讀
三星意圖瓜分華為市場份額 華為鴻蒙系統被寄予厚望

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

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

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

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

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

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

【丹陽到香港快遞】驚!這麼好的資料還不快收藏起來?

簡介:專題彙集了HarmonyOS從入門到精通的各種開發資料,內容包括:設計參考、程序源碼、開發實例、教程筆記等等,為大家節省...
發表於 10-22 18:28 288次 閲讀
【丹陽到香港快遞】驚!這麼好的資料還不快收藏起來?

APP配網【丹陽到香港快遞】

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

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

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

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

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

SQL和Java的代碼寫法

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

HarmonyOS資料下載專題

HarmonyOS資料下載專題:專題彙集了HarmonyOS從入門到精通的各種開發資料,內容包括:設計參考、程序源碼、開發實例、教...
發表於 10-21 10:31 337次 閲讀
HarmonyOS資料下載專題

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

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

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

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

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

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

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

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

HiSpark_IPC_DIY攝像頭資料

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

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

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

HarmonyOS HiSpark AI Camera開發套件組裝指導視頻

//www.bilibili.com/video/BV1tV411m7gW
發表於 10-19 20:50 101次 閲讀
HarmonyOS HiSpark AI Camera開發套件組裝指導視頻

【丹陽到香港快遞】HarmonyOS資料下載專題&電源電路設計(海量資源供你下)

簡介:HarmonyOS資料下載專題:從鴻蒙出世到現在,對於鴻蒙資料查詢下載,大家是否有點迷茫-不知去何處查找。為此,本專題彙集...
發表於 10-19 18:47 42次 閲讀
【丹陽到香港快遞】HarmonyOS資料下載專題&電源電路設計(海量資源供你下)

收到鴻蒙AI Camera。屏幕滑動特別遲鈍,設置和攝像頭的圖標點擊沒反應。怎麼回事?

收到鴻蒙AI Camera。屏幕滑動特別遲鈍,設置和攝像頭的圖標點擊沒反應。怎麼回事? ...
發表於 10-19 18:35 101次 閲讀
收到鴻蒙AI Camera。屏幕滑動特別遲鈍,設置和攝像頭的圖標點擊沒反應。怎麼回事?

HarmonyOS_HDF框架(直播課件)

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

HarmonyOS 內核文檔

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

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

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

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

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

一文詳解Java動態調試技術

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

Hi3861V100/Hi3861LV100 設備驅動 開發指南

Hi3861V100/Hi3861LV100 設備驅動 開發指南
發表於 10-17 10:43 404次 閲讀
Hi3861V100/Hi3861LV100 設備驅動 開發指南

鴻蒙開發資料

鴻蒙開發資料
發表於 10-17 10:40 202次 閲讀
鴻蒙開發資料

一文知道Java中接口的定義

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

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

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

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

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

HarmonyOS 內核設計程序文檔

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

HarmonyOS智慧屏設計文檔

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

HarmonyOS智能穿戴應用設計文檔

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

HarmonyOS IoT應用設計文檔

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

OpenHarmony:跨越邊界 有你有我

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

【丹陽到香港快遞】鴻蒙1024技術沙龍—— Hello New World! 火熱報名中

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

HarmonyOS設備應用開發文檔

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

HarmonyOS開發文檔(二)

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

HarmonyOS開發文檔(一)

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

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

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

HarmonyOS應用設計文檔

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

HarmonyOS Codelabs設備虛擬化特性開發

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

JFinal的源代碼資料合集

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

【丹陽到香港快遞】鴻蒙資料專題+電路原理圖集錦分享

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

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

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

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

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

在Linux操作鴻蒙開發板實現Helloworld程序

本文主要介紹瞭如何在 Linux 環境下在 Hi3516DV300 開發板搭載鴻蒙 OS 實現一個簡....
發表於 10-14 12:05 88次 閲讀
在Linux操作鴻蒙開發板實現Helloworld程序

盤點Java程序員不能錯過的7個基本框架,完美構建複雜應用

現在IT開發人員面對的較大挑戰就是複雜性,構建的應用越來越複雜。今天給大家列出Java程序員不能錯過....
的頭像 如意 發表於 10-14 11:54 302次 閲讀
盤點Java程序員不能錯過的7個基本框架,完美構建複雜應用

鴻蒙系統 Ubuntu 操作入門資料

我們安裝的 Ubuntu 是桌面版本,這樣我們可以像在 windows 系統下操作一樣,相對於平時所....
發表於 10-14 11:47 57次 閲讀
鴻蒙系統 Ubuntu 操作入門資料

鴻蒙HarmonyOS燒錄方法總結

理解 HarmonyOS 驅動框架,用户態 APP 和內核態驅動之間的通信機制。HarmonyOS ....
發表於 10-14 11:26 45次 閲讀
鴻蒙HarmonyOS燒錄方法總結

鴻蒙系統HarmonyOS入門文檔

HarmonyOS 是一款“面向未來”、面向全場景(移動辦公、運動健康、社交通信、媒體 娛樂等)的....
發表於 10-14 11:13 139次 閲讀
鴻蒙系統HarmonyOS入門文檔

小米願意使用!前提麒麟處理器和鴻蒙系統獨立開來

自從華為被美國列為實體名單之後,谷歌就切斷華為使用安卓系統的通道,可以説是在華為手機最為重要的操作系....
的頭像 鴻蒙系統HarmonyOS 發表於 10-13 12:15 508次 閲讀
小米願意使用!前提麒麟處理器和鴻蒙系統獨立開來

華為鴻蒙系統USB口、網絡口燒寫方式

確認Hi3518EV300單板內含有USB下載功能的U-boot版本,若不支持,請將上海海思提供的最....
的頭像 丹陽到香港快遞網 發表於 10-13 10:33 667次 閲讀
華為鴻蒙系統USB口、網絡口燒寫方式

【丹陽到香港快遞】實戰經驗教你如何避坑+精選開源資料分享

1.十大絕招,教你搞懂令人頭禿的高頻電路佈線問題 簡介:如果數字邏輯電路的頻率達到或者超過 45MH....
的頭像 發燒友實驗室 發表於 10-12 19:06 555次 閲讀
【丹陽到香港快遞】實戰經驗教你如何避坑+精選開源資料分享