Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Firebase
Édison Valencia Díaz
En la opción Start a new Android Studio proyect (Iniciar un nuevo proyecto Android Studio),
se selecciona para crear un nuevo proyecto. Si tiene el proyecto ya creado y se está en lista
izquierda, son dar click en el nombre del proyecto, este se abrirá. O por la opción Open an
existing Android Studio project (Abrir un proyecto Android Studio existente)
Para proyecto nuevos, la ventana iniciar de configurar se componen de:
● Application name (nombre de aplicación), así se identifica el proyecto
● Company domain (dominio de la compañía) es informativo y con esta información se
compone el nombre el paquete donde se almacena la aplicación.
● Proyect location (localización del proyecto), ruta en el disco duro donde se almacena
el proyecto
● Package name (nombre del paquete), es un subcarpeta que se crea para organizar
los códigos fuente.
● Include C++ support y Include Kotlin support (Incluir soporte para C++ y Incluir
soporte para Kotlin)
Ahora, se configura el dispositivo base para el desarrollo, considerado factores mínimos
para el SDK (Standard Developer Kit)
● Phone and Tablet (Teléfono y Tableta), se selecciona la versión base, la cual está
relacionado con la versión del sistema operativo del dispositivo
● Wear (Reloj)
● TV (Televisor)
● Android Auto (Radio del auto)
● Android Things (Electrónica para el Internet de las Cosas)
Según el dispositivo seleccionado, se proponen diferentes ventanas asistentes. La
recomendación es iniciar por Empty Activity (actividad vacía)
Las actividades es la unión entre el código de la aplicación (código en kotlin o java) y la
interfaz de usuario (código en XML).
Recomendable: nombrar la actividad de tal forma que sea fácil de relacionar con las
acciones que realiza.
<TextView
android:id="@+id/tv_titulo_principal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/texto_titulo_principal"
android:textAlignment="center"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.191"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.056" />
<TextView
android:id="@+id/tv_subtitulo_principal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="@string/texto_subtitulo_principal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_titulo_principal" />
<EditText
android:id="@+id/et_texto"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="38dp"
android:ems="10"
android:hint="@string/titulo_campo_texto"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_subtitulo_principal" />
<EditText
android:id="@+id/et_numero"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:ems="10"
android:hint="@string/titulo_campo_numero"
android:inputType="number"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_texto" />
<Button
android:id="@+id/btn_enviar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="38dp"
android:text="@string/titulo_boton_enviar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_numero" />
</android.support.constraint.ConstraintLayout>
Archivo: string.xml
<resources>
<string name="app_name">BaseCRUD</string>
<string name="texto_titulo_principal">Base CRUD</string>
<string name="texto_subtitulo_principal">Ejemplo de uso de Kotlin y Firebase</string>
<string name="titulo_campo_texto">Campo texto</string>
<string name="titulo_campo_numero">Campo número</string>
<string name="titulo_boton_enviar">Enviar datos</string>
</resources>
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.edi.basecrud"
minSdkVersion 23
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: ' libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-database:16.0.5'
}
package com.edi.basecrud
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import com.google.firebase.database.DatabaseReference
import com.google.firebase.database.FirebaseDatabase
import kotlinx.android.synthetic.main.activity_principal.*
var basedatos:DatabaseReference?=null