自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

鴻蒙應(yīng)用開發(fā)入門(二)開發(fā)環(huán)境搭建

開發(fā)
文章由鴻蒙社區(qū)產(chǎn)出,想要了解更多內(nèi)容請(qǐng)前往:51CTO和華為官方戰(zhàn)略合作共建的鴻蒙技術(shù)社區(qū)https://harmonyos.51cto.com/#zz

[[360069]]

 想了解更多內(nèi)容,請(qǐng)?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

2.1 工具下載和安裝:

下載地址:https://developer.harmonyos.com/cn/develop/deveco-studio

安裝下一步.....就可以,沒有坑!

2.2 下載HarmonyOS SDK

DevEco Studio提供SDK Manager統(tǒng)一管理SDK和這個(gè)包依賴的工具鏈。通過SDK Manager能自動(dòng)下載各個(gè)語言對(duì)應(yīng)的SDK包。SDK Manager提供多種編程語言的SDK包,各SDK包的說明請(qǐng)參考:

1. Native:C/C++語言SDK包,默認(rèn)不自動(dòng)下載,需手動(dòng)勾選下載。

2. JS:JS語言SDK包,默認(rèn)不自動(dòng)下載,需手動(dòng)勾選下載。

3. Java:Java語言SDK包,首次下載SDK時(shí)默認(rèn)下載。

SDK對(duì)應(yīng)的工具鏈(SDK Tools)和預(yù)覽器:

1. Toolchains:SDK工具鏈,HarmonyOS應(yīng)用開發(fā)必備工具集,包括編譯、打包、簽名、數(shù)據(jù)庫管理等工具的集合,首次下載SDK時(shí)默認(rèn)下載。

2. Previewer:Lite Wearable預(yù)覽器,在開發(fā)過程中可以動(dòng)態(tài)預(yù)覽Lite Wearable應(yīng)用的界面呈現(xiàn)效果,默認(rèn)不自動(dòng)下載,需手動(dòng)勾選下載。

2.3 安裝IDE時(shí)候的坑1:一直加載gradle

1. 下載指定的gadle版本

可以到 官網(wǎng)下載或者借助網(wǎng)友提供的下載好的版本,直接下載使用。

2. 關(guān)閉DevEco studio,打開DevEco studio自動(dòng)生成的一個(gè)目錄

默認(rèn)在這個(gè)目錄:C:\Users\Administrator\.gradle\wrapper\dists\gradle-6.3-all\b4awcolw...這串字符不同電腦不一樣...u1obfh9i8

3. 下載好的zip文件放進(jìn)去

將下載好的gradle文件復(fù)制在以上文件夾內(nèi)(注意一定要放置在類似“b4awcolw...這串字符不同電腦不一樣...u1obfh9i8”目錄下),重啟軟件即可。

2.4 安裝IDE時(shí)候的坑2:模擬器刷不出來

開發(fā)應(yīng)用的時(shí)候需要模擬器跑效果,需要在DevEco Studio菜單欄,點(diǎn)擊Tools > HVD Manager開發(fā)模擬器,第一次打開,會(huì)自動(dòng)下載相關(guān)文件。然后要求用華為開發(fā)者賬號(hào)登錄認(rèn)證,開發(fā)者賬號(hào)要求實(shí)名認(rèn)證,沒有自行注冊(cè)認(rèn)證就好。

注意:瀏覽器一定要更新到最新版本,否則可能模擬器刷不出來。

2.5 推薦一個(gè)很好用的開源手機(jī)投屏工具scrcpy

1. 獲取地址:https://github.com/Genymobile/scrcpy

2. scrcpy簡介

簡單地來說,scrcpy就是通過adb調(diào)試的方式來將手機(jī)屏幕投到電腦上,并可以通過電腦控制手機(jī)設(shè)備。它可以通過USB連接,也可以通過Wifi連接(類似于隔空投屏),而且不需要任何root權(quán)限,不需要在手機(jī)里安裝任何程序。scrcpy同時(shí)適用于Linux,Windows和macOS。

3. 安裝和使用

1)綠色的下載到Windows某個(gè)目錄,然后將目錄添加到Path環(huán)境變量就可以了。

2)使用USB進(jìn)行連接設(shè)備

(1)手機(jī)通過USB連接到PC上,首次連接會(huì)彈出是否信任該電腦,點(diǎn)擊始終信任即可。

(2)運(yùn)行adb devices查看是否連接成功

(3)運(yùn)行“scrcpy -s 設(shè)備名稱” ,只有一臺(tái)設(shè)備直接scrcpy即可。

2.6 真機(jī)調(diào)試環(huán)境搭建步驟:

1)在IDE中生成簽名文件,以備用

2)進(jìn)入應(yīng)用開發(fā)頁面,進(jìn)入管理中心,進(jìn)入上架及推廣服務(wù)

3)進(jìn)入用戶與訪問,生成證書和管理設(shè)備(目前是受邀開發(fā)者可見),并且下載好證書已備用,添加設(shè)備需要UDID(獲取UDID的命令,adb shell dumpsys DdmpDeviceMonitorService)

4)在進(jìn)入我的項(xiàng)目,添加項(xiàng)目,添加應(yīng)用,注意應(yīng)用的包名必須和你自己的包名一樣

5)在我的項(xiàng)目,對(duì)應(yīng)的項(xiàng)目里,生成profile文件,下載以備用

6)cer、p12、p7b三個(gè)文件齊了,在項(xiàng)目的屬性,簽名設(shè)置上設(shè)置上,就可以在真機(jī)上調(diào)試運(yùn)行了


3.1 第一個(gè)鴻蒙應(yīng)用實(shí)現(xiàn)需求

編寫兩張頁面,實(shí)現(xiàn)在第一張頁面點(diǎn)擊按鈕跳轉(zhuǎn)到第二張頁面。在Java UI框架中,提供了兩種編寫布局的方式:在XML中聲明UI布局和在代碼中創(chuàng)建布局。這兩種方式創(chuàng)建出的布局沒有本質(zhì)差別,都是我們需要熟悉方式,所以我們將通過XML的方式布局第一張頁面,然后再通過代碼的方式布局第二張頁面。

3.2 用XML布局第一張頁面

1. 打開layout下面的“ability_main.xml”文件

2. 在“ability_main.xml”文件中創(chuàng)建一個(gè)文本和一個(gè)按鈕

  1. xmlns:ohos="http://schemas.huawei.com/res/ohos" 
  2.  
  3. ohos:width="match_parent" 
  4.  
  5. ohos:height="match_parent" 
  6.  
  7. ohos:background_element="#000000"
  8.  
  9.  
  10. ohos:id="$+id:text" 
  11.  
  12. ohos:width="match_content" 
  13.  
  14. ohos:height="match_content" 
  15.  
  16. ohos:text="Hello World" 
  17.  
  18. ohos:text_color="white" 
  19.  
  20. ohos:text_size="32fp" 
  21.  
  22. ohos:center_in_parent="true"/> 
  23.  
  24.  
  25. ohos:id="$+id:button" 
  26.  
  27. ohos:width="match_content" 
  28.  
  29. ohos:height="match_content" 
  30.  
  31. ohos:text="Next" 
  32.  
  33. ohos:text_size="19fp" 
  34.  
  35. ohos:text_color="white" 
  36.  
  37. ohos:top_padding="8vp" 
  38.  
  39. ohos:bottom_padding="8vp" 
  40.  
  41. ohos:right_padding="80vp" 
  42.  
  43. ohos:left_padding="80vp" 
  44.  
  45. ohos:background_element="$graphic:background_button" 
  46.  
  47. ohos:below="$id:text" 
  48.  
  49. ohos:horizontal_center="true" 
  50.  
  51. /> 

 3. 創(chuàng)建按鈕的背景

按鈕的背景是通過“background_button”來指定的。右鍵點(diǎn)擊“graphic”文件夾,選擇“New > File”,命名為“background_button.xml”。

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <shape  xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:shape="oval"
  3.     <solid ohos:color="#007DFF"/> 
  4.     <corners ohos:radius="20"/> 
  5. </shape> 

3.3 用編程的方式布局第二張頁面

1. 創(chuàng)建Feature Ability

2. 代碼編寫界面

  1. public class SecondAbilitySlice extends AbilitySlice { 
  2.     @Override 
  3.     public void onStart(Intent intent) { 
  4.         super.onStart(intent); 
  5.         // 聲明布局 
  6.         DependentLayout myLayout = new DependentLayout(this); 
  7.         // 設(shè)置頁面布局大小和背景色 
  8.         myLayout.setWidth(MATCH_PARENT); 
  9.         myLayout.setHeight(MATCH_PARENT); 
  10.         ShapeElement element = new ShapeElement(); 
  11.         element.setRgbColor(new RgbColor(255, 255, 255)); 
  12.         myLayout.setBackground(element); 
  13.         // 創(chuàng)建一個(gè)文本 
  14.         Text text = new Text(this); 
  15.         text.setText("Nice to meet you."); 
  16.         text.setTextSize(55); 
  17.         text.setTextColor(Color.BLACK); 
  18.         // 設(shè)置文本的布局 
  19.         DependentLayout.LayoutConfig textConfig =  
  20.                                     new DependentLayout.LayoutConfig(MATCH_CONTENT,MATCH_CONTENT); 
  21.         textConfig.addRule(DependentLayout.LayoutConfig.CENTER_IN_PARENT); 
  22.         
  23.         text.setLayoutConfig(textConfig); 
  24.         myLayout.addComponent(text); 
  25.         super.setUIContent(myLayout); 
  26.     } 
  27.   
  28.     @Override 
  29.     public void onActive() { 
  30.         super.onActive(); 
  31.     } 
  32.   
  33.     @Override 
  34.     public void onForeground(Intent intent) { 
  35.         super.onForeground(intent); 
  36.     } 

 3.4 實(shí)現(xiàn)頁面跳轉(zhuǎn)

  1. public class MainAbilitySlice extends AbilitySlice { 
  2.     @Override 
  3.     public void onStart(Intent intent) { 
  4.         super.onStart(intent); 
  5.         super.setUIContent(ResourceTable.Layout_ability_main); 
  6.         Button button = (Button) findComponentById(ResourceTable.Id_button); 
  7.   
  8.         if (button != null) { 
  9.             // 為按鈕設(shè)置點(diǎn)擊回調(diào) 
  10.             button.setClickedListener(new Component.ClickedListener() { 
  11.                 @Override 
  12.                 public void onClick(Component component) { 
  13.                     Intent secondIntent = new Intent(); 
  14.                     // 指定待啟動(dòng)FA的bundleName和abilityName 
  15.                     Operation operation = new Intent.OperationBuilder() 
  16.                             .withDeviceId(""
  17.                             .withBundleName("com.example.myapplication"
  18.                             .withAbilityName("com.example.myapplication.SecondAbility"
  19.                             .build(); 
  20.                     secondIntent.setOperation(operation); 
  21.                     startAbility(secondIntent); // 通過AbilitySlice的startAbility接口實(shí)現(xiàn)啟動(dòng)另一個(gè)頁面 
  22.                 } 
  23.             }); 
  24.         } 
  25.     } 
  26.   
  27.     @Override 
  28.     public void onActive() { 
  29.         super.onActive(); 
  30.     } 
  31.   
  32.     @Override 
  33.     public void onForeground(Intent intent) { 
  34.         super.onForeground(intent); 
  35.     } 

 文章配套視頻課程《鴻蒙手機(jī)應(yīng)用開發(fā)入門》https://edu.51cto.com/course/26133.html 

©著作權(quán)歸作者和HarmonyOS技術(shù)社區(qū)共同所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任

想了解更多內(nèi)容,請(qǐng)?jiān)L問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2024-03-26 15:19:36

鴻蒙應(yīng)用開發(fā)開發(fā)工具

2011-06-03 15:36:22

IOS 環(huán)境搭建

2011-06-03 14:36:32

IOS 環(huán)境搭建

2011-06-03 16:05:20

IOS 環(huán)境搭建

2011-06-03 15:08:09

IOS 環(huán)境搭建

2013-07-23 06:11:44

Android開發(fā)學(xué)習(xí)Android開發(fā)環(huán)境Java

2011-05-24 16:09:57

Androi

2020-10-12 11:33:00

鴻蒙

2019-12-10 09:20:30

NettyBIO開發(fā)

2009-07-03 16:56:37

JSP開發(fā)環(huán)境

2011-07-08 16:02:24

iphone

2011-05-26 10:33:26

Android開發(fā)

2017-09-11 14:35:34

編輯器開發(fā)環(huán)境React

2011-08-02 17:37:01

IPhone開發(fā) 環(huán)境搭建

2010-04-03 11:30:15

Widget開發(fā)

2017-03-02 15:33:24

Android Thi環(huán)境搭建

2021-12-20 21:01:52

鴻蒙HarmonyOS應(yīng)用

2020-12-04 09:52:22

鴻蒙OS

2013-02-21 14:12:44

Tizen開發(fā)

2012-04-28 08:43:12

CentOS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)