通过Webview将字符串变量从Java传递到JavaScript(反之亦然)

通过Webview将字符串变量从Java传递到JavaScript(反之亦然),javascript,java,android,webview,Javascript,Java,Android,Webview,我正在尝试制作一个两个用户可以通过webview进行交互的应用程序。我想从javascript到Java获取一个字符串变量,这样我就可以将它保存在Sqlite数据库中。(反之亦然)从javascript调用Java/Kotlin代码 Android WebView有一个叫做的功能,这是你应该寻找的 它允许您从javascript代码运行java/kotlin代码 您可以通过以下方式定义接口: val webView: WebView = findViewById(R.id.webview) we

我正在尝试制作一个两个用户可以通过webview进行交互的应用程序。我想从javascript到Java获取一个字符串变量,这样我就可以将它保存在Sqlite数据库中。(反之亦然)

从javascript调用Java/Kotlin代码

Android WebView有一个叫做的功能,这是你应该寻找的

它允许您从javascript代码运行java/kotlin代码

您可以通过以下方式定义接口:

val webView: WebView = findViewById(R.id.webview)
webView.addJavascriptInterface(WebAppInterface(this), "Android")
这里,WebAppInterface定义了希望从javascript调用的方法

/** Instantiate the interface and set the context  */
class WebAppInterface(private val mContext: Context) {
     /** Show a toast from the web page  */
     @JavascriptInterface
     fun showToast(toast: String) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show()
     }
}
Android”这是一个添加到webview的界面,可以在javascript代码中用于调用Android方法

完成后,您可以从javascript调用这些方法

<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast) {
    Android.showToast(toast);
}
</script>

从JavaScript调用Java/Kotlin代码

Android WebView有一个叫做的功能,这是你应该寻找的

它允许您从javascript代码运行java/kotlin代码

您可以通过以下方式定义接口:

val webView: WebView = findViewById(R.id.webview)
webView.addJavascriptInterface(WebAppInterface(this), "Android")
这里,WebAppInterface定义了希望从javascript调用的方法

/** Instantiate the interface and set the context  */
class WebAppInterface(private val mContext: Context) {
     /** Show a toast from the web page  */
     @JavascriptInterface
     fun showToast(toast: String) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show()
     }
}
Android”这是一个添加到webview的界面,可以在javascript代码中用于调用Android方法

完成后,您可以从javascript调用这些方法

<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast) {
    Android.showToast(toast);
}
</script>

implementation'org.webrtc:google webrtc:1.0.+'
可能是您可以通过这个
implementation'org.webrtc:google webrtc:1.0.+'
可能是您可以通过这个感谢您的帮助。您的答案似乎显示了如何从Javascript执行Java函数。如果我想从Java执行Javascript函数,我该怎么办@莫利克Hirani@MbulaMbomaJeangilbert,使用从Java/Kotlin代码调用JS函数的解决方案更新了答案:)非常感谢。你节省了我的时间。谢谢你的帮助。您的答案似乎显示了如何从Javascript执行Java函数。如果我想从Java执行Javascript函数,我该怎么办@莫利克Hirani@MbulaMbomaJeangilbert,使用从Java/Kotlin代码调用JS函数的解决方案更新了答案:)非常感谢。你节省了我的时间。