viernes, 8 de noviembre de 2024

Añadiendo Créditos en App Android: Mi Experiencia con Kotlin y Android Jetpack



Utilizar Kotlin como lenguaje de desarrollo me permitió aprovechar sus características avanzadas, como la facilidad para escribir funciones de extensión y componentes modulares. Además, integrar Android Jetpack fue clave para crear una interfaz reutilizable en diferentes secciones de la aplicación, como el Login y el Panel de Administrador.”

Funcionalidad Principal: Componentes Reutilizable en la vista Login y Panel de Administrador

Con Android Jetpack, logré centralizar la lógica en un solo lugar, haciendo que este componente sean fácilmente adaptable para futuras vistas en la aplicación. Este enfoque no solo facilita el mantenimiento, sino el rendimiento.

EL componente jetpack reutilizable lo llame FooterText y el nombre del archivo es FooterComposable.kt

import android.content.Intent
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.sp
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import android.net.Uri
import androidx.compose.material3.MaterialTheme
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dp

// Powered by Anibal Copitan | Soporte: okeypay.anibalcopitan.com o WhatsApp.
@Composable
fun FooterText(modifier: Modifier = Modifier) {
    val context = LocalContext.current

    Spacer(modifier = Modifier.height(10.dp))
    Row(horizontalArrangement = Arrangement.Center, modifier = Modifier.fillMaxWidth()) {
        Text(text = "Creado por: Anibal Copitan", fontSize = 10.sp)
    }
    Row(horizontalArrangement = Arrangement.Center, modifier = Modifier.fillMaxWidth()) {
        Text(text = "Soporte",
            fontSize = 10.sp,
            color = MaterialTheme.colorScheme.primary,
            modifier = Modifier.clickable {
                // Crea el Intent para abrir el navegador
                val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://okeypay.anibalcopitan.com"))
                context.startActivity(intent) // Lanza el Intent
            }
        )
        Text(text = " | ", fontSize = 10.sp)
        Text(text = "970142637", fontSize = 10.sp,
            color = MaterialTheme.colorScheme.primary,
            modifier = Modifier.clickable {
                // Crea el Intent para abrir el navegador
                val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://wa.me/+51970142637"))
                context.startActivity(intent) // Lanza el Intent
        })
    }
}

Utilizando la funcion FooterText() en las vistas:

  • LoginScreen.kt
  • DashboardScreen.kt
package com.anibalcopitan.okeypay2

import FooterText
.
.
.

@Preview(showBackground = true, showSystemUi = true)
@Composable
fun DashboardScreenScreenPreview() {
    OkeyPay2Theme {
        DashboardScreen(0)
    }
}

@Composable
fun DashboardScreen(counter: Int) {

    Column(modifier = Modifier.padding(16.dp)) {
        .
        .
        .
        FooterText()
    }
}


¿Quieres probar la aplicación? Puedes acceder a la versión en producción de OkeyPay aquí.
Para cualquier consulta o colaboración, no dudes en contactarme.



Conclusión

Trabajar en esta aplicación con Kotlin y Jetpack me ha permitido mejorar mis habilidades en el desarrollo de interfaces intuitivas y funcionales, pero también crear componentes que simplifican el proceso de desarrollo para futuros proyectos.
Espero que esta explicación sea útil para otros desarrolladores interesados en aprovechar al máximo Kotlin y Jetpack

Estos pequeños detalles, como el crédito, ayudan a crear identidad en tus proyectos.
tú firma o links permite que los usuarios sepan quién desarrolló la app y cómo contactarte.

No hay comentarios:

Publicar un comentario