Inicie una nueva actividad usando Intent en Android usando Jetpack Compose

En el sistema operativo Android, una intención es un mecanismo utilizado para llevar a un usuario a otra actividad o aplicación para lograr una tarea específica. En general, las intenciones se utilizan para avanzar a la siguiente actividad o volver a la actividad anterior.

Intent In Android

 

En este artículo, le mostraremos cómo puede iniciar una nueva actividad usando Intent en Android usando Jetpack Compose . Siga los pasos a continuación una vez que el IDE esté listo.

Implementación paso a paso

Paso 1: crea un nuevo proyecto en Android Studio

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Al elegir la plantilla, seleccione Actividad de composición vacía . Si no encuentra esta plantilla, intente actualizar Android Studio a la última versión. Demostramos la aplicación en Kotlin , así que asegúrese de seleccionar Kotlin como idioma principal al crear un nuevo proyecto.

Paso 2: Crear una nueva actividad SecondActivity.kt

Cree una nueva actividad haciendo clic derecho en la carpeta del proyecto, haga clic en nuevo, haga clic en Actividad y seleccione la opción Galería . En la opción Galería, seleccione Actividad de composición vacía y asígnele el nombre SecondActivity como se muestra en las imágenes a continuación.

 

 

Paso 3: trabajar con el archivo SecondActivity.kt

Abra el archivo SecondActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo SecondActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.

Kotlin

package com.geeksforgeeks.jcintentnextactivity
  
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.sp
  
class SecondActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            // Calling the composable function
            // to display element and its contents
            MainContent2()
        }
    }
}
  
// Creating a composable
// function to display Top Bar
@Composable
fun MainContent2() {
    Scaffold(
        topBar = { TopAppBar(title = { Text("GFG | Second Activity", color = Color.White) }, backgroundColor = Color(0xff0f9d58)) },
        content = { MyContent2() }
    )
}
  
// Creating a composable function to 
// create two Images and a spacer between them
// Calling this function as content in the above function
@Composable
fun MyContent2(){
    Column(Modifier.fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center) {
            
          // Creating a Text  
          Text("Hello Geek!", fontSize = 50.sp)
    }
}
  
// For displaying preview in
// the Android Studio IDE emulator
@Preview(showBackground = true)
@Composable
fun DefaultPreview2() {
    MainContent2()
}

Paso 4: trabajar con el archivo MainActivity.kt

Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.

Kotlin

package com.geeksforgeeks.jcintentnextactivity
  
import android.content.Intent
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.tooling.preview.Preview
  
class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            // Calling the composable function
            // to display element and its contents
            MainContent()
        }
    }
}
  
// Creating a composable 
// function to display Top Bar
@Composable
fun MainContent() {
    Scaffold(
        topBar = { TopAppBar(title = { Text("GFG | Main Activity", color = Color.White) }, backgroundColor = Color(0xff0f9d58)) },
        content = { MyContent() }
    )
}
  
// Creating a composable function to
// create two Images and a spacer between them
// Calling this function as content in the above function
@Composable
fun MyContent(){
  
    // Fetching the Local Context
    val mContext = LocalContext.current
  
    Column(Modifier.fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center) {
         
          // Creating a Button that on-click 
          // implements an Intent to go to SecondActivity
          Button(onClick = {
            mContext.startActivity(Intent(mContext, SecondActivity::class.java))
        },
            colors = ButtonDefaults.buttonColors(backgroundColor = Color(0XFF0F9D58)),
        ) {
            Text("Go to Second Activity", color = Color.White)
        }
    }
}
  
// For displaying preview in
// the Android Studio IDE emulator
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
    MainContent()
}

Producción:

Cuando ejecute la aplicación, verá un botón con el texto ‘Ir a la segunda actividad’. Al hacer clic en él, la aplicación lo llevará a SecondActivity, que muestra el texto ‘¡Hola Geek!’. A continuación se muestra la grabación de la aplicación.

Publicación traducida automáticamente

Artículo escrito por aashaypawar 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 *