java - 如何使用 Kotlin 构建 cordova 项目

标签 java android-studio cordova kotlin

我已经有一个 cordova 项目文件夹 www 正在进行中。

构建这个,您将拥有一个 Android 项目。

这将创建一个 MainActivity.java 文件。

我不懂Java,所以我将文件更改为MainActivity.kt并转换了内部代码。

但是当我运行它时,它不会运行错误。

构建 Cordova :

cordova build android

创建MainActivity.java:

package com.example.gamename;
import android.os.Bundle;
import org.apache.cordova.*;
public class MainActivity extends CordovaActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Bundle extras = getIntent().getExtras();
        if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
            moveTaskToBack(true);
        }
        loadUrl(launchUrl);
    }
}

转换后的MainActivity.kt:

package com.example.gamename
import android.content.Intent.getIntent
import android.os.Bundle
import org.apache.cordova.*
class MainActivity:CordovaActivity() {
  override fun onCreate(savedInstanceState:Bundle) {
    super.onCreate(savedInstanceState)
    val extras = getIntent().getExtras()
    if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
      moveTaskToBack(true)
    }
    loadUrl(launchUrl)
  }
}

出现错误......:

2020-03-09 18:56:57.159 7625-7625/com.example.gamename E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.gamename, PID: 7625 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gamename/com.example.gamename.MainActivity}: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState

有解决办法吗?还是没有办法?

必须解决使用认证、支付、db(可惜我不懂Java)。

最佳答案

需要将 Bundle 更改为“Bundle”吗?在 MainActivity.kt 中。

override fun onCreate(savedInstanceState:Bundle?) {

关于java - 如何使用 Kotlin 构建 cordova 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60598227/

相关文章:

java - 如何测试基于 SSLEngine 的 TLS 实现?

java - 在 Android Studio 中导出具有 Manifest 属性的 Jar 文件?

java - 无法在 Nexus 6 上运行应用程序

java - 为什么我的运行配置在 Android Studio 中被禁用?

android - 更新的 PhoneGap 现在推送通知不会停止

java - 在 JTextPane 中查找删除的文本

java - 移动指针 VS。只是迭代字符串

javascript - 无法加载网页,因为 net::ERR_ADDRESS_UNREACHABLE

ios - 如何通过 Apache Cordova 实时重新加载使用 ES6/ES2015?

java - Spring 使用 XML 从属性文件注入(inject) boolean 值始终为 false