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

Kotlin在鴻蒙開發(fā)中的實踐

開發(fā)
kotlin作為一門現(xiàn)代的語言,語法更簡潔,而且具有很多高級特性,比如:Null Safe、Data Class、擴展、操作符重載、lambda表達式、閉包等.

想了解更多內容,請訪問:

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

https://harmonyos.51cto.com

先說一說kotlin

我們知道:

kotlin目前是安卓首選的編程語言。

安卓逐漸拋棄java,擁抱kotlin這是大的趨勢。

kotlin的最大優(yōu)點就是與java的互操作性。

kotlin編譯的產物和java一樣是bytecode(不抬杠,本文只說面向jvm的kotlin)。

kotlin是一門現(xiàn)代高級語言。

java也是高級語言,但開發(fā)效率很低。

kotlin作為一門現(xiàn)代的語言,語法更簡潔,而且具有很多高級特性,比如:Null Safe、Data Class、擴展、操作符重載、lambda表達式、閉包等

第一次嘗試

我使用的鴻蒙ide是DevEco Studio 3.0.0.800。要使用kotlin,肯定要把相應的gradle插件、ide插件等配置上。

gradle插件(作用:編譯.kt文件)

project的gradle.build中配置

  1. buildscript { 
  2.     dependencies { 
  3.      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10" 
  4.     } 

 entry的gradle.build中配置

  1. apply plugin: 'kotlin' 

 ide插件(作用:讓ide識別.kt文件、高亮顯示、語法提示等)

DevEco Studio 3.0.0.800是基于IntelliJ IDEA212.5457.46,所以我們找到相應的版本并下載https://plugins.jetbrains.com/plugin/6954-kotlin/versions/stable/150173

把下載的zip包直接拖拽到DevEco界面上就會自動安裝。

kotlin在鴻蒙開發(fā)中的實踐-鴻蒙HarmonyOS技術社區(qū)

建一個kotlin的Data Class, User

  1. data class User(val name: String, val age: Int

 在MainAbilitySlice中使用User

  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.         User andy = new User("andy", 28);//使用Data Class ,就像java的類一樣 
  7.  
  8.         Text text = (Text) findComponentById(ResourceTable.Id_text_helloworld); 
  9.         text.setText(andy.getName()); 
  10.     } 

 結果:

能夠識別.kt文件,并且語法高亮都沒問題,說明ide插件配置成功。

但是,編譯失敗,提示The 'java' plugin has been applied, but it is not compatible with the Hap plugins.。我的理解是,org.jetbrains.kotlin:kotlin-gradle-plugin和com.huawei.ohos:hap沖突。這個問題,已經超出了我的能力范圍。

有沒有別的辦法呢?

第二次嘗試

既然org.jetbrains.kotlin:kotlin-gradle-plugin和com.huawei.ohos:hap沖突,我們再建一個java library的module,把.kt文件放在這個module下,是否可行呢?答案是:可行!

直接看源碼吧----> https://gitee.com/andych008/HMkt

總結

雖然,我們經過嘗試,可以在鴻蒙app開發(fā)中使用kotlin,但是,我還是不建議在實際中大量使用。說不準哪一天,DevEco Studio 中完全不支持kotlin了,那樣之前寫的代碼維護會不太方便。但是,如果有一些平臺不相關的代碼,比如,在android和鴻蒙上都會使用,那么我們完全可以放心使用kotlin來實現(xiàn)。

另外,在華為開發(fā)者大會上(2021-10-22),華為表示,將發(fā)布自研編程語言。我們就暫時忍受一下難用的java吧。華為的自研編程語言,在特性上肯定會和kotlin、swift之類的現(xiàn)代語言一樣?,F(xiàn)在學習使用kotlin對以后一定會有用的!

想了解更多內容,請訪問:

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

https://harmonyos.51cto.com

 

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

2010-04-20 09:14:33

Struts

2020-07-08 10:01:07

SDP網絡安全安全框架

2024-07-01 00:00:06

ASP.NET開源

2022-09-09 10:01:11

服務網格云原生交付請求

2023-04-07 18:35:23

StarRocks貨品運營

2021-07-28 09:00:00

編程語言Kotlin開發(fā)

2023-08-31 22:40:01

2018-09-10 15:57:52

IstioUCloudIPv6

2017-05-22 08:05:46

HBase阿里搜索實踐

2009-11-26 10:31:55

配置IPS最佳實踐

2023-09-22 10:12:57

2012-12-25 10:48:35

IBMdW

2017-06-02 10:25:26

Java異常處理

2022-12-23 19:22:47

前端單測

2024-10-16 21:49:24

2021-04-28 09:08:23

Kotlin協(xié)程代碼

2023-12-06 21:44:28

RocksDBvivo

2016-09-07 13:49:11

AppiumAndroid UI應用

2022-03-22 13:45:10

云計算混合云工具

2022-05-30 07:48:11

DevOps測試策略
點贊
收藏

51CTO技術棧公眾號