diff --git a/docs/plugin/uts-for-android.md b/docs/plugin/uts-for-android.md index 0a1fb2803c1c329684d0a513e0cfef736bd70c4f..1bed9604bcfd36f8b0f465a72c11bac2a19eab21 100644 --- a/docs/plugin/uts-for-android.md +++ b/docs/plugin/uts-for-android.md @@ -79,6 +79,7 @@ uts,全称 uni type script,是一门跨平台的、高性能的、强类型 uts语法详细介绍:[uts语法介绍](https://uniapp.dcloud.net.cn/tutorial/syntax-uts) + ## 3 Android原生环境配置 (目前版本暂不支持) @@ -89,7 +90,7 @@ uts语法详细介绍:[uts语法介绍](https://uniapp.dcloud.net.cn/tutorial/ 注意: -+ 1 本章节内的实例代码均取自Hello UTS项目 ++ 1 本章节内的实例代码均取自Hello UTS [项目地址](https://gitcode.net/dcloud/hello-uts) + 2 本章节设计的配置,均需自定义基座后才能生效 @@ -264,16 +265,20 @@ HX3.6.7 版本内置了以下依赖 ``` -## 4 语法差异重点介绍 (持续更新) +## 4 Kotlin与UTS差异重点介绍 (持续更新) 通过上面的章节的阅读。 至此我们认为你已经掌握了UTS语法,掌握了基本的Kotlin语法,掌握了UTS对于android资源的支持。 -但是对于一个熟悉android开发的kotlin语言者来说,有很多常用的语法发生了改变,我们会在这个章节特别指出,便于开发者加深认识。 +但是对于一个熟悉android开发的kotlin语言者来说,有很多常用的习惯发生了改变,我们会在这个章节特别指出,便于开发者加深认识。 + +### 4.1 语法差异 -### 4.1 可为空的语法标识 +------------------------------- + +#### 4.1.1 可为空的语法标识 kotlin中可为空的语法统一为类型后加`?`,已下面的代码为例 @@ -293,7 +298,7 @@ let user:string | null let user?:string ``` -### 4.2 let和var +#### 4.1.2 let和var `kotlin`中 可变变量修饰为 `var`、`val`。 区别在于 val 不可变,var可变。 @@ -302,7 +307,33 @@ let user?:string 推荐使用`let` 因为只会在作用域内生效,需要慎用`var`,因为它具备有更大的作用范围 -### 4.3 extends +#### 4.1.3 方法定义 + +方法定义 `kotlin`里的方法只有一种定义方式 + +```kotlin + fun startListener():void{ + + } +``` +uts中,需要区分全局方法、成员方法 + +```ts + // 成员方法 + startListener():void{ + + } +``` + +```uts + // 全局方法方法 + function startListener():void{ + + } +``` + + +#### 4.1.4 extends `kotlin`中的: 继承操作符,需要用`extends`取代 @@ -323,7 +354,10 @@ class MediaContentObserver extends ContentObserver { } ``` -### 4.4 非空断言 + + + +#### 4.1.5 非空断言 kotlin中的非空断言是`!!`,ts中是一个`!` @@ -335,32 +369,8 @@ user!.sayHello(); user!!.sayHello(); ``` -### 4.5 方法定义 -方法定义 `kotlin`里的方法只有一种定义方式 - -```kotlin - fun startListener():void{ - - } -``` -uts中,需要区分全局方法、成员方法 - -```ts - // 成员方法 - startListener():void{ - - } -``` - -```uts - // 全局方法方法 - function startListener():void{ - - } -``` - -### 4.6 快速调用父类实现 +#### 4.1.6 快速调用父类实现 ```ts @@ -378,7 +388,7 @@ constructor (){ ``` -### 4.7 匿名内部类 +#### 4.1.7 匿名内部类 `kotlin`中可以使用匿名内部类 @@ -403,8 +413,13 @@ let myListener = new MyListener(); user.setListener(myListener); ``` +--------------------------------- + +### 4.2 警告优化 -### 4.8 java lang包的引入问题 +下面的内容不会影响功能使用,但是在UTS环境中,有合适的解决办法 + +#### 4.2.1 java lang包的引入问题 `kotlin` 或者`java` 中java.lang.*是被特殊处理的,可以直接使用而不需要引入。 @@ -425,7 +440,7 @@ System.currentTimeMillis() ``` -### 4.9 UTS 不建议使用 快捷构造 +#### 4.2.2 `UTS` 不建议使用 快捷构造 `kotlin` 中 支持通过()的方式,快速实现无参构造器的声明 @@ -449,7 +464,7 @@ class ScreenReceiver extends BroadcastReceiver{ } ``` -### 4.10 UTS 中下划线前缀的变量,有屏蔽未使用警告的含义 +#### 4.2.3 `UTS` 中下划线前缀的变量,有屏蔽未使用警告的含义 ```uts // IDE会提示 name,status,desc 变量未使用 @@ -465,6 +480,8 @@ onStatusUpdate(_name:string, _status:Int, _desc:string){ ``` + + ## 5 常见问题(持续更新) ### 5.1 如何在UTS环境中,新建一个`activity`?