¿Cómo convertir código Kotlin a código Java en Android Studio?

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.

Convert Kotlin Code to Java Code in Android Studio

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *