Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
it&s me
unidocs-zh
提交
dc77241a
U
unidocs-zh
项目概览
it&s me
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
dc77241a
编写于
10月 26, 2022
作者:
杜庆泉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update uts-for-android.md
上级
7aa51d3f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
30 addition
and
4 deletion
+30
-4
docs/plugin/uts-for-android.md
docs/plugin/uts-for-android.md
+30
-4
未找到文件。
docs/plugin/uts-for-android.md
浏览文件 @
dc77241a
...
...
@@ -99,26 +99,50 @@ uts语法详细介绍:[uts语法介绍](https://uniapp.dcloud.net.cn/tutorial/
但是当开发者重写
`Android`
平台
`Service`
组件
`onStartCommand`
方法时,必须明确指定接收参数为 Int,以满足
`Android`
平台API要求
UTS 实现代码:
在标准的UTS环境中,其实只有
`Number`
类型而没有
`Int`
,理想的情况应该是这样写:
```
ts
override
onStartCommand
(
intent
:
Intent
,
flags
:
Number
,
startId
:
Number
):
Number
{
return
super
.
onStartCommand
(
intent
,
flags
,
startId
);
}
```
但是因为
`onStartCommand`
是
`android`
提供的api 并且明确指定数据类型
`flags`
和
`startId`
需要是Int类型,
因此我们需要违背
`UTS`
数据类型,以满足
`android`
平台数据类型的需要:
```
ts
override
onStartCommand
(
intent
:
Intent
,
flags
:
Int
,
startId
:
Int
):
Int
{
return
super
.
onStartCommand
(
intent
,
flags
,
startId
);
}
```
对应的Kotlin 代码实现:
最后转换成的下面的
`Kotlin`
代码:
```
kotlin
override
fun
onStartCommand
(
intent
:
Intent
,
flags
:
Int
,
startId
:
Int
):
Int
{
return
super
.
onStartCommand
(
intent
,
flags
,
startId
);
}
```
举例二:
`MutableList`
`MutableList`
是
`android`
平台 特有的数据类型,一般场景下,可以使用UTS中内置类型
`Array`
替代
但是在
`android`
平台 响应权限申请结果时,必须要以此为类型
UTS 实现代码:
在标准的UTS环境中,是没有
`MutableList`
类型的,与之相近的数据类型是
`Array`
,所以理想的情况应该是这样写:
```
ts
onAppActivityRequestPermissionsResult
((
requestCode
:
number
,
permissions
:
Array
<
string
>
,
grantResults
:
Array
<
number
>
)
=>
{
// 权限申请结果
});
```
但是因为
`onAppActivityRequestPermissionsResult`
函数是
`android`
平台内置的函数,且明确要求了
`permissions`
和
`grantResults`
字段必须是
`MutableList`
类型。因此我们需要这样写:
```
ts
onAppActivityRequestPermissionsResult
((
requestCode
:
number
,
permissions
:
MutableList
<
string
>
,
grantResults
:
MutableList
<
number
>
)
=>
{
...
...
@@ -126,13 +150,15 @@ onAppActivityRequestPermissionsResult((requestCode: number,permissions: MutableL
});
```
对应的Kotlin 代码实现:
编译后的kotlin代码是这样的:
```
kotlin
onAppActivityRequestPermissionsResult
(
fun
(
requestCode
:
Number
,
permissions
:
MutableList
<
String
>,
grantResults
:
MutableList
<
Number
>){
});
```
## 3 Android原生环境配置 (目前版本暂不支持)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录