如何将此 AppInventor 块转换为 Kotlin 代码?任何的想法

问题描述

您好,我想将这些块从 AppInventor 项目转换为使用 Kotiln 作为我的编程语言的 Android Studio 项目,但我对 Android 开发非常陌生,有人可以帮我吗?

enter image description here

这个应用程序的作用是打开 webview 并在随机生成的时间重新加载我的网页 URL。

到目前为止我尝试了什么!

package com.technosoftkpk.y_view

import android.os.Bundle
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.appcompat.app.AppCompatActivity


class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val myWebView: WebView = findViewById(R.id.webview)
        myWebView.setWebViewClient(WebViewClient())
        myWebView.loadUrl("https://technosoft.pk")
        val webSettings = myWebView.settings
        webSettings.displayZoomControls = true
        webSettings.javaScriptEnabled = true

        
    }
}

解决方法

这样的事情行得通吗?这将随机等待 0 到 5 秒。 (在onCreate末尾添加代码):

import kotlin.concurrent.thread
import kotlin.random.Random
thread {
    while (true) {
        Thread.sleep(Random.nextLong(5000))
        runOnUiThread { myWebView.reload() }
    }
}

这可能看起来很复杂,但我们需要创建一个新线程以避免阻塞 UI 线程并允许用户输入。但是然后重新加载需要再次在 UI 线程上发生。另一种方法是使用 postDelayed

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...