Ich wollte die App meines Unternehmens in Java-> Kotlin konvertieren, also habe ich zuerst versucht, alles mit meiner Android-App (der gesamte Java-Code) in Kotlin zu konvertieren.
Über die damals getroffenen Maßnahmen. Es hat nicht viel Mühe gekostet, wahrscheinlich weil meine App klein war.
Eine periphere Such-App namens PLACE SEARCH.
https://play.google.com/store/apps/details?id=com.hikarusato.placesearch
2 Tage
build.gradle (für das projekt)
buildscript {
ext.kotlin_version = '1.0.6'//hinzufügen
repositories {
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"//hinzufügen
}
}
bash:build.gradle(Module:App)
apply plugin: 'kotlin-kapt'//Hinzugefügt, wenn Sie Anmerkungen in Kotlin verfügbar machen möchten.
apply plugin: 'kotlin-android'//hinzufügen.
・
・
・
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"//hinzufügen.
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"//Wird bei Verwendung von Reflection hinzugefügt (Erwerb des Eigenschafts- oder Klassennamens)
testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version"//Wird bei Verwendung eines Testprojekts hinzugefügt
testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"//Wird bei Verwendung eines Testprojekts hinzugefügt
}
Referenz: https://kotlinlang.org/docs/reference/using-gradle.html
Dadurch wird der gesamte Java-Code in Kotlin-Code konvertiert.
Beispiel
//Java in Android Studio->Nach der Umstellung auf Kotlin
mWaitDialog = ProgressDialog(this, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT)
//Hier mWaitDialog!!.setMessage or mWaitDialog?.Ich erhalte eine Fehlermeldung, wenn ich zu setMessage wechsle
mWaitDialog.setMessage(resources.getString(R.string.now_updating))
Kotlin-Code nach automatischer Konvertierung
class A {
private enum class TYPE {
TYPE_1,
TYPE_2
}
internal class B {
var state = TYPE.TYPE_1//Fehler, dass enum TYPE hier nicht erkannt werden kann
}
}
Überarbeitet
class A {
//Privat entfernen
enum class TYPE {
TYPE_1,
TYPE_2
}
internal class B {
var state = TYPE.TYPE_1
}
}
Kotlin-Code nach automatischer Konvertierung
enum class TYPE {
TYPE_1,
TYPE_2
}
・
・
・
Enum.valueOf<TYPE>(TYPE::class.java!!, "Aufzählungsname aufzählen")//Enum.valueOf<TYPE>Fehler in
Überarbeitet
enum class TYPE {
TYPE_1,
TYPE_2
}
・
・
・
TYPE.valueOf("Aufzählungsname aufzählen")//Aufzählungsname.Wechseln Sie in das Format valueOf
Vor der Korrektur
override fun onPageStarted(view: WebView, url: String, favicon: Bitmap) {
Überarbeitet
//Favicon kann also null sein?Anfügen.
override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) {
Vor der Korrektur
override fun onCreateAnimation(transit: Int, enter: Boolean, nextAnim: Int): Animation
Überarbeitet
//Die Animation kann also null sein?Anfügen.
override fun onCreateAnimation(transit: Int, enter: Boolean, nextAnim: Int): Animation?
Recommended Posts