如何与Kotlin建立cordova项目



我有一个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:致命异常:main进程:com.example.gamename,PID:7625java.lang.RuntimeException:无法启动活动ComponentInfo{com.example.gamename/com.example.gamename]MainActivity}:java.lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,参数savedInstanceState

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

必须解决使用身份验证、支付和数据库的问题(不幸的是,我不懂Java(。

需要在MainActivity.kt.中将Bundle更改为"Bundle?">

override fun onCreate(savedInstanceState:Bundle?) {

最新更新