El lenguaje de programación Java es el más antiguo y preferido para el desarrollo de aplicaciones de Android . Sin embargo, durante Google I/O 2017 , Kotlin ha sido declarado como idioma oficial para el desarrollo de Android por parte del equipo de Google Android. Kotlin ha ganado popularidad entre los desarrolladores muy rápidamente debido a sus similitudes y su interoperabilidad con el lenguaje Java. Uno puede mezclar código de Java y Kotlin mientras diseña un proyecto de Android. La sintaxis de Java y Kotlin difiere en muchos aspectos pero su proceso de compilación es casi el mismo. El código de ambos idiomas se compila en un código de bytes que es ejecutable en Java Virtual Machine (JVM). Por lo tanto, si se puede derivar el código de bytes del archivo Kotlin compilado, se puede descompilar para producir el código Java equivalente. Android Studio hace exactamente lo mismo para llevar a cabo la conversión de código de Kotlin a Java. Los desarrolladores pueden tener muchas razones para convertir el código de Kotlin a Java, como:
- Integrar funcionalidades fáciles de implementar en lenguaje Java.
- Para resolver algún problema de rendimiento que es difícil de localizar en Kotlin.
- Para eliminar el código Kotlin de los archivos del proyecto.
Conversión de código
Paso 1: Abra la clase/archivo de Kotlin
Abra la clase/archivo de Kotlin que se va a convertir a Java. Considere el código del archivo MainActivity mencionado a continuación para la conversión.
Kotlin
import android.os.Bundle import android.view.View import android.widget.TextView import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { // declaring variable for TextView component private var textView: TextView? = null // declaring variable to store // the number of button click private var count = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // assigning ID of textView2 to the variable textView = findViewById(R.id.textView2) // initializing the value of count with 0 count = 0 } // function to perform operations // when button is clicked fun buttonOnClick(view: View?) { // increasing count by one on // each tap on the button count++ // changing the value of the // textView with the current // value of count variable textView!!.text = Integer.toString(count) } }
Paso 2: navegue al menú de herramientas
En la barra de herramientas superior de Android Studio, seleccione Herramientas y luego vaya a Kotlin > Mostrar código de bytes de Kotlin . Se abrirá una ventana en el lado derecho que contendrá el código de bytes línea por línea para el archivo Kotlin.
Paso 3: descompilar el código de bytes
En la ventana de código de bytes, marque la opción «JVM 8 target» y haga clic en Descompilar. Android Studio generará el código equivalente de Java para el archivo Kotlin. El código Java producido contendrá información adicional como metadatos. A continuación se muestra el código Java generado para el archivo Kotlin mencionado anteriormente.
Java
import android.os.Bundle; import android.view.View; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; import kotlin.Metadata; import kotlin.jvm.internal.Intrinsics; import org.jetbrains.annotations.Nullable; @Metadata( mv = {1, 4, 1}, bv = {1, 0, 3}, k = 1, d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0007\u001a\u00020\b2\b\u0010\t\u001a\u0004\u0018\u00010\nJ\u0012\u0010\u000b\u001a\u00020\b2\b\u0010\f\u001a\u0004\u0018\u00010\rH\u0014R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u0005\u001a\u0004\u0018\u00010\u0006X\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u000e"}, d2 = {"Lcom/example/javatokotlin/MainActivity;", "Landroidx/appcompat/app/AppCompatActivity;", "()V", "count", "", "textView", "Landroid/widget/TextView;", "buttonOnClick", "", "view", "Landroid/view/View;", "onCreate", "savedInstanceState", "Landroid/os/Bundle;", "app"} ) public final class MainActivity extends AppCompatActivity { private TextView textView; private int count; protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(1300009); this.textView = (TextView)this.findViewById(1000069); this.count = 0; } public final void buttonOnClick(@Nullable View view) { int var10001 = this.count++; TextView var10000 = this.textView; Intrinsics.checkNotNull(var10000); var10000.setText((CharSequence)Integer.toString(this.count)); } }
Nota: La conversión de código de Kotlin a Java no creará un nuevo archivo en el directorio del proyecto desde donde se puede acceder al código Java. Por lo tanto, para usar el código Java generado por Android Studio, es necesario copiarlo del archivo java descompilado que se muestra.
Ventajas de Java sobre Kotlin
- La sobrecarga de operadores no es posible.
- Las clases escritas en Java no son definitivas de forma predeterminada.
- Sintaxis más legible.
- Uso de métodos estáticos y variables.
Publicación traducida automáticamente
Artículo escrito por RISHU_MISHRA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA