Mi propósito en el día de hoy será el de crear una aplicación para dispositivos móviles android que muestre un curriculum en una app escrita con el lenguaje de programación Kotlin. Es una forma original de llevarlo en tu teléfono móvil.
Cómo diseñar una app Android y publicarla
1. Diseño de la app:
– Define el propósito de la app (en este caso, un currículum personalizable).
a. Esquematiza las pantallas necesarias, como:
I. Pantalla principal: Información personal y profesional.
II. Secciones: Educación, experiencia laboral, habilidades, proyectos, etc
b. Diseña una interfaz moderna utilizando principios de Material Design para garantizar una experiencia de usuario profesional.
2. Herramientas necesarias:
– Android Studio: IDE recomendado para desarrollo Android.
– Kotlin: Lenguaje oficial para Android.
– Diseño visual: Utiliza herramientas como Figma para planificar la interfaz.
– Recursos visuales: Asegúrate de usar imágenes e íconos de alta calidad.
3. Publicación de la app:
– Regístrate como desarrollador en Google Play Console.
– Crea un paquete de la app en formato APK o AAB.
– Completa los detalles de la app, como título, descripción y capturas de pantalla.
– Sube la app a Google Play Store tras pasar la revisión.
Código Fuente: Aplicación de Currículum en Kotlin
Estructura del Proyecto
La app incluye:
– Pantalla principal con datos personales.
– Secciones desplegables para educación, experiencia, habilidades, etc.
– Diseño adaptativo para diferentes tamaños de pantalla.
Código Completo
1. Archivo build.gradle
(Nivel App)
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
android {
compileSdk 34
defaultConfig {
applicationId "com.example.curriculumapp"
minSdk 21
targetSdk 34
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation "androidx.core:core-ktx:1.12.0"
implementation "androidx.appcompat:appcompat:1.6.1"
implementation "com.google.android.material:material:1.10.0"
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
}
2. Layout Principal (activity_main.xml
)
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ScrollView
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<!-- Header Section -->
<TextView
android:id="@+id/tvName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Tu Nombre"
android:textSize="24sp"
android:textStyle="bold"
android:gravity="center" />
<TextView
android:id="@+id/tvTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Título Profesional"
android:textSize="18sp"
android:gravity="center"
android:paddingTop="4dp" />
<!-- Section: Education -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Educación"
android:textStyle="bold"
android:textSize="20sp"
android:paddingTop="16dp" />
<TextView
android:id="@+id/tvEducation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Universidad X, Licenciatura en Y, Año Z"
android:paddingTop="8dp" />
<!-- Section: Experience -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Experiencia"
android:textStyle="bold"
android:textSize="20sp"
android:paddingTop="16dp" />
<TextView
android:id="@+id/tvExperience"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Empresa A, Puesto B, Año C"
android:paddingTop="8dp" />
<!-- Section: Skills -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Habilidades"
android:textStyle="bold"
android:textSize="20sp"
android:paddingTop="16dp" />
<TextView
android:id="@+id/tvSkills"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Habilidad 1, Habilidad 2, Habilidad 3"
android:paddingTop="8dp" />
</LinearLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
3. Actividad Principal (MainActivity.kt
)
package com.example.curriculumapp
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Personaliza los textos según las preferencias del usuario
findViewById<TextView>(R.id.tvName).text = "Juan Pérez"
findViewById<TextView>(R.id.tvTitle).text = "Ingeniero de Software"
findViewById<TextView>(R.id.tvEducation).text = "Universidad Nacional, Ingeniería en Computación, 2023"
findViewById<TextView>(R.id.tvExperience).text = "Empresa ABC, Desarrollador Android, 2020-2023"
findViewById<TextView>(R.id.tvSkills).text = "Kotlin, Java, SQL, Diseño UI/UX"
}
}
4. Personalización de Icono y Publicación
Reemplaza el ícono predeterminado en la carpeta res/drawable
con uno personalizado usando Android Asset Studio.
Sigue los pasos descritos en la sección «Publicación de la app» para subir tu APK a Google Play.
Explicación del Código
Estructura del proyecto:
– build.gradle
: Configura las dependencias y características del proyecto.
– activity_main.xml
: Define la interfaz gráfica de la app.
– MainActivity.kt
: Maneja la lógica de la aplicación, como asignar datos a la interfaz.
Principales Componentes:
– ConstraintLayout
: Permite diseñar interfaces complejas y adaptables.
– ScrollView
: Habilita el desplazamiento en dispositivos pequeños.
– TextView
: Se usa para mostrar textos estáticos y dinámicos.
Personalización: Los textos pueden ser personalizados desde MainActivity.kt
, haciendo que la app sea reutilizable.
Publicación: Después de generar el APK, sigue las instrucciones de Google Play Console para distribuir tu app.
Con este proyecto, cualquier persona puede crear y personalizar su propio currículum digital y compartirlo profesionalmente.
Si tienes dudas o quieres crear tu propia app para tu negocio o cualquier necesidad que tengas, no dudes en contactar conmigo y haré realidad tu proyecto.