<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          HarmonyOS-對Android開發(fā)者也太友好了吧

          共 3171字,需瀏覽 7分鐘

           ·

          2020-11-26 02:31

          點擊上方?Android掃地僧?,選擇?星標?公眾號

          重磅資源、干貨,快上車!4a7d69339ce2291c1f75cca994042aa3.webp

          2020年9月10日,華為消費者業(yè)務軟件部總裁王成錄又一次站在了松山湖華為開發(fā)者大會的主舞臺上。今年,他帶來了萬眾矚目的華為鴻蒙HarmonyOS2.0。到目前為止,除了華為自家的智慧屏系列產品,國內也已經(jīng)有多家等設備廠商與華為達成了合作,搭載HarmonyOS2.0,雖然目前華為最新手機ROM-EMUI11仍是基于Android R的操作系統(tǒng),而在發(fā)布會上,華為消費者業(yè)務軟件部總裁王成錄宣布搭載EMUI 11的機型將率先升級HarmonyOS2.0鴻蒙操作系統(tǒng)。


          既然官方發(fā)話了,也許明年,HarmonyOS就會出現(xiàn)在你的手機上,這說不定也會給移動開發(fā)從業(yè)人員帶來更多的機會,早學早CD。


          話不多說,先跑個HelloWorld。


          DevEco Studio下載

          https://developer.harmonyos.com/cn/develop/deveco-studio

          • 系統(tǒng)要求:

          操作系統(tǒng)
          Windows 10 64位
          內存
          8GB+
          硬盤
          100GB+
          分辨率
          1280*800+
          Mac用戶敬請期待~DevEco?Studio(以下簡稱DS)畢竟是基于IntelliJ IDEA Community開源版本打造的,所以只要你之前用過AS或IDEA,基本上沒有任何學習成本。

          下面分別是DevEco Studio / AndroidStudio / IDEA(我都設置成了深色主題)

          7e59b28b5ce0d8c5418a8200d1803691.webp

          DevEcoStudio

          26924a7316d8b9e9529ce38c6c30dd79.webp

          AndroidStudio

          d618185d1d0252b9b844c4e64b918874.webp

          IntelliJ Idea

          配置開發(fā)環(huán)境

          • 安裝Node.js(不適應JS開發(fā)應用直接略過)

          • 下載Gradle

            這個建議你把AS里面已經(jīng)下好的Gradle路徑找出來,DS默認使用5.4.1版本,我不確定是不是國內網(wǎng)絡都有問題,反正我的網(wǎng)絡下不下來,或者使用民間大神已經(jīng)下載好的

            下面是官方給的解決方案

            https://developer.harmonyos.com/cn/docs/documentation/doc-guides/faq-installation-0000001050697674


          運行HelloWorld

          • 新建工程-選擇設備類型-電視/手表

            這里建議選擇第3個LiteWearable,因為其他兩個設備項目運行后,都不支持預覽,也就是HelloWorld長啥樣,你得跑起來才能看到。但是LiteWearable又僅支持JS,所以你還是別預覽了,老老實實用虛擬機看吧


          2880b4603c0dd604c38b86f5ca3c724a.webp


          然后一路Next到底就完事了,等待項目構建完成,就可以運行,但是你得先申請個模擬器

          • 申請模擬器

            前提:1.注冊華為賬號 2.實名認證

            菜單欄,點擊Tools > HVD Manager。首次使用模擬器,需下載模擬器相關資源,請點擊OK,等待資源下載完成后,點擊模擬器界面左下角的Refresh按鈕。

          ??

          dbf230fb32f28f2491b1b478f8ffec78.webp

          會自動打開瀏覽器,登錄華為賬號,允許授權,就可以在DS里新建模擬器了。每次申請有效期1小時,過期后要重新申請。

          5dee36781a0bb94f5b29bdc6f0e50185.webp

          完成授權,就可以啟動虛擬機了

          06dbf90780ee3b784a0730c7d9cd11ca.webp

          然后就直接跟AS操作一樣,選擇設備運行

          1f6f023957a791a7ad811102ddec34d3.webp



          簡單體驗之后,可以發(fā)現(xiàn),鴻蒙應用開發(fā)的整個流程基本是跟Android應用一致的,對安卓開發(fā)人員來說,也太友好了吧。這個也不奇怪,畢竟Android這一套機制經(jīng)過了十幾年的不斷完善,有很多方面值得借鑒和參考,下面簡單總結一下,從Android直接遷移到HarmonyOS很容易上手的幾個點




          項目結構

          HarmonyOS和Android都是采用Gradle進行構建,HarmonyOS的應用軟件包以APP?Pack(Application Package)形式發(fā)布,它是由一個或多個HAP(HarmonyOS Ability Package)以及描述每個HAP屬性的pack.info組成。HAP是Ability的部署包,HarmonyOS應用代碼圍繞Ability組件展開。

          一個HAP是由代碼、資源、第三方庫及應用配置文件組成的模塊包,可分為entry和feature兩種模塊類型,如下圖所示。

          • entry:應用的主模塊。一個APP中,對于同一設備類型必須有且只有一個entry類型的HAP,可獨立安裝運行。

          • feature:應用的動態(tài)特性模塊。一個APP可以包含一個或多個feature類型的HAP,也可以不含。只有包含Ability的HAP才能夠獨立運行。
          94e18ec91d53cb8a07c8cff9700b0836.webp
          App邏輯視圖

          Ability

          Ability是應用所具備能力的抽象,也是應用程序的重要組成部分。一個應用可以具備多種能力(即可以包含多個Ability),HarmonyOS支持應用以Ability為單位進行部署。Ability可以分為FA(Feature Ability)和PA(Particle Ability)兩種類型,每種類型為開發(fā)者提供了不同的模板,以便實現(xiàn)不同的業(yè)務功能。

          也就是說,Ability就相當于Android里面四大組件的一個抽象,F(xiàn)A就是我們熟悉的Activity,而PA下面的Service模板和Data模板就是對應的Service和ContentProvider


          Page的生命周期

          9fcfbcc5407f4adf7f8fadbd6810b915.webp

          資源文件

          config.json vs AndroidManifest

          應用的配置文件“config.json”“app”“deviceConfig”“module”三個部分組成,缺一不可。

          • app:應用的全局配置信息,包名,版本號等

          • deviceConfig:應用在不同設備上的具體信息

          • module:就是AndroidManifest下面的節(jié)點了,包括Ability的聲明,權限等


          可以發(fā)現(xiàn),很多配置都改為json格式了,其實像string,color等也都改為json格式,目前了解的只有布局文件仍然使用xml

          如:color.json

          {"color":[        {"name":"red","value":"#ff0000"        },        {"name":"red_ref","value":"$color:red"        }    ]}

          UI組件

          應用的Ability在屏幕上將顯示一個用戶界面,該界面用來顯示所有可被用戶查看和交互的內容。應用中所有的用戶界面元素都是由Component和ComponentContainer對象構成。可想而知,這倆就是我們熟悉的View和ViewGroup。

          45ab0cfe1c00c0c93bec41177a95f640.webp

          ......

          看完這個,是不是覺得,上手鴻蒙開發(fā)絲毫沒有難度,其他具體細節(jié),大家有興趣可以去官網(wǎng)查看,基本上都有詳細的介紹。


          https://developer.harmonyos.com/cn/docs/documentation

          68dc9fd744a38c65cdca2922128a6b11.webp

          另外,關于對鴻蒙應用開發(fā)過程中遇到的問題,也可以前往HarmonyOS官方論壇進行反饋和交流

          https://developer.huawei.com/consumer/cn/forum/blockdisplay?fid=0101303901040230869

          aa260182519819ba710b487357ba745a.webp



          最后

          關于HarmonyOS2.0發(fā)布后,網(wǎng)上也有很多負面言論,類似“鴻蒙系統(tǒng)開放的源代碼含美量90%”,“鴻蒙應用就是安卓套個殼”......如果真的是從開發(fā)者的角度出發(fā),確實很多地方能看到Android的影子(包括HAP包解壓后會有一個apk文件,其實這個文件是無法獨立安裝運行的),但是也不可否認,這個過程中華為的創(chuàng)新,“像安卓”也許是一個沒有辦法的選擇,因為對于一個操作系統(tǒng)來講,開發(fā)社區(qū)是系統(tǒng)上線后的最大考驗,如果沒有開發(fā)者為這個系統(tǒng)開發(fā)應用,這個系統(tǒng)基本是無法存活的,這點可以參考曾經(jīng)的WinPhone。而兼容安卓,則可以很好地避免這個問題。


          最后附上鴻蒙官網(wǎng)的系統(tǒng)架構圖。


          c6dd3b4aeaf680975e4c8836a8c85879.webp


          c7e4bd0524bb1a9eecf92bd315ea0a0b.webp

          點個在看,你最好看

          瀏覽 63
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产伦精品一区二区三区免费下载 | 99久久无码一区 | 成人伊人大香蕉 | 日本黄色一级片日 | 天天干夜夜欢 |