提交 1759f381 编写于 作者: 杜庆泉's avatar 杜庆泉

Update data-type.md

上级 f354fcd3
...@@ -179,21 +179,29 @@ array1.forEach((element:string, index:number) => { ...@@ -179,21 +179,29 @@ array1.forEach((element:string, index:number) => {
#### kotlin 平台的Array 特性 #### kotlin 平台的Array 特性
在kotlin平台上,Array 的具体实现类为: `io.dcloud.uts.UTSArray` 在kotlin平台上,Array 的具体实现类为: `io.dcloud.uts.UTSArray`
UTSArray 拉齐了Web平台 Array的功能和定义,可以满足大多数场景需要 ,但是在涉及与 系统API/三方sdk 交互部分会产生类型不一致的错误。 UTSArray 拉齐了Web平台 Array的功能和定义,可以满足大多数场景需要 ,但是在涉及与 系统API/三方sdk 交互部分,因为 系统API/三方sdk 是基于 java/kotlin 开发 因此可能会产生类型不一致的错误。
举个例子:
```uts ```uts
let packageManager = UTSAndroid.getUniActivity()!.getPackageManager(); let packageManager = UTSAndroid.getUniActivity()!.getPackageManager();
let intent = new Intent(Intent.ACTION_MAIN); let intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.addCategory(Intent.CATEGORY_LAUNCHER);
// // 查询当前设备上安装了几个launcher
let resolveInfo = packageManager.queryIntentActivities(intent,0); let resolveInfo = packageManager.queryIntentActivities(intent,0);
``` ```
比如,上面的代码向 系统查询了 有多少应用可以响应 `launcher加载器`,返回的 resolveInfo 是一个 `List<ResolveInfo>`。这种情况下,我们建议的做法是将其先转换为UTSArray对象再进行其他处理和操作 上面的代码向 系统查询了有多少应用可以响应 `launcher`行为 ,返回的 resolveInfo 是一个 `List<ResolveInfo>`
这种情况下,我们建议的做法是将其先转换为UTSArray对象再进行其他处理和操作
```uts
let launcherList = UTSArray.fromNative(resolveInfo)
console.log(clothing.length);
```
...@@ -204,28 +212,29 @@ let resolveInfo = packageManager.queryIntentActivities(intent,0); ...@@ -204,28 +212,29 @@ let resolveInfo = packageManager.queryIntentActivities(intent,0);
``` ```
let utsArr= ["hello","world"] let utsArr= ["hello","world"]
// UTSArray 转换 kotlin.collections.List
let kotlinList = utsArr.toKotlinList() let kotlinList = utsArr.toKotlinList()
```
##### 2 我有一个原生类数组类型 需要转成一个UTSArray // UTSArray 转换 kotlin.Array
let kotlinArray = utsArr.toTypedArray()
``` ```
let utsArr= ["hello","world"]
let kotlinList = utsArr.toArray()
```
##### 3 我有一个kotlin.collections.List 我需要一个UTSArray
##### 2 我有一个原生类数组类型 需要转成一个UTSArray
``` ```
// kotlin.collections.List 转换 UTSArray
let utsArr= mutableListOf("hello","world") let utsArr= mutableListOf("hello","world")
let kotlinList = utsArr.toUTSArray() let kotlinList = UTSArray.fromNative(utsArr)
``` ```
##### 4 我有一个java.util.Array 我需要一个UTSArray
``` ```
// kotlin.Array 转换 UTSArray
let utsArr= arrayOf("hello","world") let utsArr= arrayOf("hello","world")
let kotlinList = utsArr.toMutableList().toUTSArray() let kotlinList = UTSArray.fromNative(utsArr)
``` ```
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册