Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
Hello UTS
提交
e407bc2d
H
Hello UTS
项目概览
DCloud
/
Hello UTS
通知
1595
Star
27
Fork
9
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
Hello UTS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
e407bc2d
编写于
7月 31, 2024
作者:
杜庆泉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
混编代码增加 kotlin/uts 持续回调示例
上级
098ecf1e
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
92 addition
and
5 deletion
+92
-5
pages/SyntaxCase/MixNativeCode.uvue
pages/SyntaxCase/MixNativeCode.uvue
+16
-1
pages/SyntaxCase/MixNativeCode.vue
pages/SyntaxCase/MixNativeCode.vue
+15
-1
pages/advance/advance.vue
pages/advance/advance.vue
+4
-0
uni_modules/uts-syntaxcase/utssdk/app-android/kotlinCode.kt
uni_modules/uts-syntaxcase/utssdk/app-android/kotlinCode.kt
+37
-0
uni_modules/uts-syntaxcase/utssdk/index.uts
uni_modules/uts-syntaxcase/utssdk/index.uts
+20
-3
未找到文件。
pages/SyntaxCase/MixNativeCode.uvue
浏览文件 @
e407bc2d
...
@@ -5,19 +5,24 @@
...
@@ -5,19 +5,24 @@
// #ifdef APP-ANDROID && UNI-APP-X
// #ifdef APP-ANDROID && UNI-APP-X
<button @tap="callKotlinMethodGetInfoTest">调用kotlin方法</button>
<button @tap="callKotlinMethodGetInfoTest">调用kotlin方法</button>
<button @tap="callJavaMethodGetInfoTest">调用java方法(需自定义基座)</button>
<button @tap="callJavaMethodGetInfoTest">调用java方法(需自定义基座)</button>
<view style="height: 10px;width: 100%;"></view>
<button @tap="kotlinMemListenTest">kotlin监听内存并持续回调UTS</button>
<button @tap="kotlinStopMemListenTest">停止监听</button>
<text>{{memInfo}}</text>
// #endif
// #endif
</view>
</view>
</view>
</view>
</template>
</template>
<script>
<script>
// #ifdef APP-ANDROID && UNI-APP-X
// #ifdef APP-ANDROID && UNI-APP-X
import { callKotlinMethodGetInfo, callJavaMethodGetInfo} from "../../uni_modules/uts-syntaxcase";
import { callKotlinMethodGetInfo, callJavaMethodGetInfo
,callKotlinCallbackUTS,callKotlinStopCallbackUTS
} from "../../uni_modules/uts-syntaxcase";
// #endif
// #endif
export default {
export default {
data() {
data() {
return {
return {
title: 'UTS混编示例',
title: 'UTS混编示例',
memInfo:''
}
}
},
},
...
@@ -36,6 +41,16 @@
...
@@ -36,6 +41,16 @@
title:javaInfo
title:javaInfo
})
})
},
},
kotlinMemListenTest: function () {
callKotlinCallbackUTS(function(ret:string){
this.memInfo = ret
})
},
kotlinStopMemListenTest:function () {
callKotlinStopCallbackUTS()
},
// #endif
// #endif
}
}
...
...
pages/SyntaxCase/MixNativeCode.vue
浏览文件 @
e407bc2d
...
@@ -4,16 +4,21 @@
...
@@ -4,16 +4,21 @@
<view
class=
"uni-btn-v uni-common-mt"
>
<view
class=
"uni-btn-v uni-common-mt"
>
<button
@
tap=
"callKotlinMethodGetInfoTest"
>
调用kotlin方法
</button>
<button
@
tap=
"callKotlinMethodGetInfoTest"
>
调用kotlin方法
</button>
<button
@
tap=
"callJavaMethodGetInfoTest"
>
调用java方法(需自定义基座)
</button>
<button
@
tap=
"callJavaMethodGetInfoTest"
>
调用java方法(需自定义基座)
</button>
<view
style=
"height: 10px;width: 100%;"
></view>
<button
@
tap=
"kotlinMemListenTest"
>
kotlin监听内存并持续回调
</button>
<button
@
tap=
"kotlinStopMemListenTest"
>
停止监听
</button>
<text>
{{
memInfo
}}
</text>
</view>
</view>
</view>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
callKotlinMethodGetInfo
,
callJavaMethodGetInfo
}
from
"
../../uni_modules/uts-syntaxcase
"
;
import
{
callKotlinMethodGetInfo
,
callJavaMethodGetInfo
,
callKotlinCallbackUTS
,
callKotlinStopCallbackUTS
}
from
"
../../uni_modules/uts-syntaxcase
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
title
:
'
UTS混编示例
'
,
title
:
'
UTS混编示例
'
,
memInfo
:
''
}
}
},
},
...
@@ -31,6 +36,15 @@
...
@@ -31,6 +36,15 @@
title
:
javaInfo
title
:
javaInfo
})
})
},
},
kotlinMemListenTest
:
function
()
{
callKotlinCallbackUTS
((
ret
)
=>
{
this
.
memInfo
=
ret
})
},
kotlinStopMemListenTest
:
function
()
{
callKotlinStopCallbackUTS
()
},
}
}
}
}
...
...
pages/advance/advance.vue
浏览文件 @
e407bc2d
...
@@ -119,6 +119,10 @@
...
@@ -119,6 +119,10 @@
},{
},{
name
:
"
实例测试示例
"
,
name
:
"
实例测试示例
"
,
url
:
"
SyntaxCase/instanceTest
"
url
:
"
SyntaxCase/instanceTest
"
},
{
name
:
"
混编测试示例
"
,
url
:
"
SyntaxCase/MixNativeCode
"
}
}
]
]
},
},
...
...
uni_modules/uts-syntaxcase/utssdk/app-android/kotlinCode.kt
浏览文件 @
e407bc2d
package
uts.sdk.modules.utsSyntaxcase
package
uts.sdk.modules.utsSyntaxcase
import
android.app.ActivityManager
import
android.content.Context.ACTIVITY_SERVICE
import
android.os.Build
import
android.os.Build
import
io.dcloud.uts.UTSAndroid
import
io.dcloud.uts.UTSAndroid
import
io.dcloud.uts.setInterval
import
io.dcloud.uts.clearInterval
import
io.dcloud.uts.console
import
io.dcloud.uts.console
object
NativeCode
{
object
NativeCode
{
...
@@ -19,5 +23,38 @@ object NativeCode {
...
@@ -19,5 +23,38 @@ object NativeCode {
fun
getJavaUser
():
JavaUser
{
fun
getJavaUser
():
JavaUser
{
return
JavaUser
(
"张三"
,
12
)
return
JavaUser
(
"张三"
,
12
)
}
}
/**
* 记录上一次的任务id
*/
private
var
lastTaskId
=
-
1
fun
kotlinCallbackUTS
(
callback
:
(
String
)
->
Unit
){
if
(
lastTaskId
!=
-
1
){
// 避免重复开启
clearInterval
(
lastTaskId
)
}
lastTaskId
=
setInterval
({
val
activityManager
=
UTSAndroid
.
getUniActivity
()
?.
getSystemService
(
ACTIVITY_SERVICE
)
as
ActivityManager
val
memoryInfo
=
ActivityManager
.
MemoryInfo
()
activityManager
.
getMemoryInfo
(
memoryInfo
)
val
availMem
=
memoryInfo
.
availMem
/
1024
/
1024
val
totalMem
=
memoryInfo
.
totalMem
/
1024
/
1024
callback
(
"设备内存:$totalMem MB,可用内存:$availMem MB"
)
},
1000
,
2000
)
}
fun
kotlinStopMemListenTest
(){
if
(
lastTaskId
!=
-
1
){
// 避免重复开启
clearInterval
(
lastTaskId
)
}
}
}
}
\ No newline at end of file
uni_modules/uts-syntaxcase/utssdk/index.uts
浏览文件 @
e407bc2d
...
@@ -159,9 +159,11 @@ class RequestTaskImpl implements RequestTask {
...
@@ -159,9 +159,11 @@ class RequestTaskImpl implements RequestTask {
export
function
request
(
url
:
string
)
:
RequestTask
|
null
{
export
function
request
(
url
:
string
)
:
RequestTask
|
null
{
return
new
RequestTaskImpl
(
url
)
return
new
RequestTaskImpl
(
url
)
}
}
// #ifdef APP-ANDROID
// #ifdef UNI-APP-X
// #ifdef APP-ANDROID
export
function
callKotlinMethodGetInfo
():
String
{
export
function
callKotlinMethodGetInfo
():
String
{
return
NativeCode
.
getPhoneInfo
()
return
NativeCode
.
getPhoneInfo
()
}
}
...
@@ -170,6 +172,21 @@ export function callJavaMethodGetInfo():String {
...
@@ -170,6 +172,21 @@ export function callJavaMethodGetInfo():String {
return
new
JavaUser
(
"jack"
,
12
)
.
name
return
new
JavaUser
(
"jack"
,
12
)
.
name
}
}
export
function
callKotlinCallbackUTS
(
callback
:
(
res
:
string
)
=>
void
)
{
NativeCode
.
kotlinCallbackUTS
(
function
(
res
:
string
){
console
.
log
(
res
)
callback
(
res
)
})
}
export
function
callKotlinStopCallbackUTS
()
{
NativeCode
.
kotlinStopMemListenTest
()
}
// #endif
// #ifdef APP-ANDROID
// #ifdef UNI-APP-X
import
KeyEvent
from
'android.view.KeyEvent'
;
import
KeyEvent
from
'android.view.KeyEvent'
;
import
Configuration
from
'android.content.res.Configuration'
;
import
Configuration
from
'android.content.res.Configuration'
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录