ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE



Documentos relacionados
Ejercicio 18. Configuración de Widgets en Android. Android Con Java. Ejercicio 18. Configuración de Widgets en Android. Curso de Android con Java

CODIGO PROYECTO: AppPixelproServicioWeb Proyecto Android - Servicio Web

Ejercicio 4. Manejo de Layouts en Android. Android Con Java. Ejercicio 4. Manejo de Layouts en Android. Curso de Android con Java

SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE

Programación Android. Alejandro Alcalde. elbauldelprogramador.com

Introducción al manejo de Bases de Datos con SQLite. Version Android

Android TAG y el principio DRY

PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Problema:

TP Nº4 Android - SQLite Fecha Miércoles 2014/08/29 Profesor: Pablo Ulman (Polshu)

Temas. CopyRight emmmnmmma - All rights reserved 2

14 - Almacenamiento de datos en un archivo de texto en la memoria interna Problema 1:

Programación Android. Rafael Morón Abad

Ejercicio 16. Mejora de Notificaciones en Android. Android Con Java. Ejercicio 16. Mejora de Notificaciones en Android. Curso de Android con Java

Android Creación de una aplicación sencilla: Forwarding - Página 1 -

Android Con Java. Ejercicio 2. Ciclo de Vida de las Actividades en Android. Ejercicio 2. Ciclo de Vida de las Actividades en Android

Ejercicio 20. SQLite en Android. Android Con Java. Ejercicio 20. Uso de SQLite en Android. Curso de Android con Java

1.- Creamos un proyecto al que llamaremos MusicaMovil.

Persistencia. Mecanismos de persistencia. Preferencias. Curso 12/13

Curso 12/13. Desarrollo de Aplicaciones Android. Persistencia

Ejercicio 3. Manejo de la Vista y Eventos en Android Ejercicio 3 Curso de Android con Java Derechos Res Dere e c rvados hos Res Gl e obal rva

Android Manejo de Eventos. Rogelio Ferreira Escutia

Índice. Herramientas de desarrollo. Historia Qué es Android? Arquitectura del sistema. Componentes Android Modelos de Negocio

Crear un Splash-Screen

Programación Android. Rafael Morón Abad

Que es un Android Intent?

ANEXO 2: Código fuente de la aplicación

Programación Android. Rafael Morón Abad

Aplicación Android de Asistencia al Caminante

GUIA DE LABORATORIO N 1

TP Nº4 Android - SQLite Fecha Miércoles 2013/08/14 Profesor: Pablo Ulman (Polshu).

Manual Mca006. Manual Mca006 CURSO ANDROID DESARROLLO de APLICACIONES MÓVILES, 24 horas

Android y Recursos. Android R.java (fichero)

Tema 2: Diseño de servicios para móviles

Aplicaciones con Servicio Web

Interfaz de usuario Layout Vistas Adaptadores Eventos de interacción Estilos y temas

Programación en Android LSUB, GSYC, URJC

10. Gráficos en dos dimensiones

Servicios LSUB, GYSC, URJC

La funcionalidad básica es la del proyecto 1 (Pacman III). Sobre ella reemplazamos la interfaz de usuario para adaptarla al nuevo entorno

Persistencia en Android: ficheros y SQLite

Google Cloud EndPoints (Parte II)

Interfaces de usuario [Desarrollo de aplicaciones para Android]

GUIA DE PRACTICA (EX Aula opcional) LED RGB controlado por Arduino desde un dispositivo mo vil con SO Android 2.2 o superior.

Especialista Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles. Plataforma Android. Sesión 1: introducción a Android

MODELO DE IMPLEMENTACIÓN

Programación Android. Rafael Morón Abad

Ejercicios - Persistencia en Android: ficheros y SQLite

En nuestra actividad principal, creamos el objeto vista previa. Este objeto se creará el objeto cámara y volver a la actividad CameraDemo.

Aurelio López Ovando Botón de pánico (App para Android)

Integración de guia1 y guia2 utilizando la aplicación Mixare

package com.example.dialogov1;

Unidad 3. PrimerProyecto. Nuestra primera aplicacio n Android

Programando para Android: una sencilla aplicación

UNIVERSIDAD DE GUAYAQUIL

Desarrollo de Aplicaciones para Android

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Curso de Android con Java

1. INTRODUCCIÓN Acerca de este libro A quién va dirigido

Javier Ávila Nieto. "Trabajo Final de Carrera" 07 Enero 2013 Página 6 de 44

Ejercicios - Persistencia en Android: proveedores de contenidos y SharedPreferences

INTRODUCCIÓN.

Almacenamiento en Android

Aplicación móvil de localización de ocio para Android.

Componentes básicos de Android

Hola Android. Introducción al desarrollo de aplicaciones para Android

Servicios Avanzados. Índice. 1 Servicios en segundo plano Notificaciones AppWidgets Publicación de software...8

Ejercicios - Servicios

Curso PUDE. Desarrollo de Aplicaciones Móviles en Android

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

Crear una Activity en Android. Paso por paso

Con este tutorial podrás aprender a cómo empezar a crear apps en Android, empezaremos con algo muy simple para que poco a poco vayas conociendo.

TRABAJO FINAL DE CARRERA

Bienvenido al emocionante mundo del

Ejercicio 4. EJB Sesión - Sistema SGA. Java EE. Ejercicio 4. EJB Sesión Sistema SGA. Curso de Java EE

Servicios - Ejercicios

Programación Android. Rafael Morón Abad

Objetivo de aprendizaje del tema

Android. Content Providers

Android y Java para Dispositivos Móviles

Elementos léxicos del lenguaje de programación Java

Almacenamiento de datos. JOSE LUIS BERENGUEL GÓMEZ Febrero 2012

PROGRAMADOR JR. PARA EL SISTEMA OPERATIVO ANDROID

Capitulo 4: Componentes Android

Práctica 4: Java Remote Method Invocation (RMI)

Transcripción:

SQLite M.Sc. Reynaldo Zeballos ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE En este ejercicio vamos a crear una tabla TELEFONOS para la base de datos GUIATEL. Para lo cual utilizaremos SQLite que viene preinstalado en nuestro equipo Android. Necesitas crear además del MainActivity.java, los archivos SQLVista.java y Telefonos.java Los tres archivos mencionados en la sección SOURCE (src) de la aplicación que se llama Sqlite_1 Asimismo es necesario crear un nuevo layout denominado vista.xml que es donde se mostraran los datos en modo de consulta. Finalmente, modificamos el AndroidManifest para agregar la actividad SQLVista. El contenido del archivo Telefono.java determina la estructura de la tabla Telefonos, el nombre de los campos y los dos métodos oncreate y onupgrade. Cada uno se inicia automáticamente dependiendo si la base de datos existe o no. Es decir, si no existe, se ejecuta oncreate que crea la tabla TELEFONOS si esta no existe. Mientras que si existe se ejecuta onupgrade que inicializa la tabla creada. Es decir, borra la tabla existente y vuelve a crearla. El programa lee un nombre y teléfono, graba la información en la base de datos creada, precisamente en la tabla TELEFONOS. Por cada ingreso exitoso emite un mensaje en un recuadro que dice que FUNCIONO!!!. A lo cual seleccionamos la tecla del celular, he ingresamos nuevos datos. Seleccionando el botón VER listara los datos introducidos anteriormente. Tiempo del Ejercicio: 60 minutos

MainActivity.java import android.os.bundle; import android.app.activity; import android.app.dialog; import android.content.intent; import android.view.menu; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; import android.widget.textview; public class MainActivity extends Activity implements OnClickListener { EditText nombre, telefono; Button insertar, ver; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); nombre = (EditText) findviewbyid(r.id.ednombre); telefono = (EditText) findviewbyid(r.id.edtelefono); insertar = (Button) findviewbyid(r.id.btinsertar); ver = (Button) findviewbyid(r.id.btver); insertar.setonclicklistener(this); ver.setonclicklistener(this); public void onclick( View v) { switch( v.getid()){ case R.id.btInsertar: boolean funciona = true; try { String qnombre = nombre.gettext().tostring(); String qtelefono = telefono.gettext().tostring(); nombre.settext(""); telefono.settext(""); Telefonos entrada = new Telefonos(MainActivity.this); entrada.abrir(); entrada.crearentrada(qnombre, qtelefono); entrada.cerrar(); catch (Exception e) { funciona=false; String error = e.tostring(); Dialog d = new Dialog(this); d.settitle("no FUNCIONA"); TextView tv = new TextView(this); tv.settext("no FUNCIONA"); d.setcontentview(tv); d.show(); finally { if (funciona){ Dialog d = new Dialog(this); d.settitle(" Funciona?"); TextView tv = new TextView(this); tv.settext("funciona!!!"); d.setcontentview(tv); d.show(); break; case R.id.btVer: Intent i = new Intent("com.example.sqlite_1.SQLVista"); startactivity(i); break; public boolean oncreateoptionsmenu(menu menu) { getmenuinflater().inflate(r.menu.activity_main, menu); return true;

SQLVista.java import android.app.activity; import android.content.intent; import android.os.bundle; import android.widget.textview; public class SQLVista extends Activity { TextView texto; protected void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); setcontentview(r.layout.vista); texto = (TextView) findviewbyid(r.id.tvtexto); Telefonos info = new Telefonos(this); try { info.abrir(); catch (Exception e) { // TODO Auto-generated catch block e.printstacktrace(); String datos = info.recibir(); info.cerrar(); texto.settext(datos); protected void onactivityresult(int requestcode, int resultcode, Intent data) { // TODO Auto-generated method stub super.onactivityresult(requestcode, resultcode, data); vista.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/tvtexto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textsize="14dp" /> </LinearLayout>

Telefonos.java import android.content.contentvalues; import android.content.context; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqlitedatabase.cursorfactory; import android.database.sqlite.sqliteopenhelper; public class Telefonos { public static final String ID_FILA = "_id"; public static final String ID_PERSONA = "nombre_persona"; public static final String ID_TELEFONO = "telefono_persona"; private static final String N_BD = "GuiaTel"; private static final String N_TABLA = "Telefonos"; private static final int VERSION_BD = 1; private BDHelper nhelper; private final Context ncontexto; private SQLiteDatabase nbd; private static class BDHelper extends SQLiteOpenHelper { public BDHelper(Context context) { super(context, N_BD, null, VERSION_BD); public void oncreate(sqlitedatabase db) { db.execsql("create TABLE " + N_TABLA + " (" + ID_FILA + " INTEGER PRIMARY KEY AUTOINCREMENT, " + ID_PERSONA + " TEXT NOT NULL, " + ID_TELEFONO + " TEXT NOT NULL);" ); public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { db.execsql("drop TABLE IF EXISTS " + N_TABLA); oncreate(db); public Telefonos (Context c){ ncontexto = c; public Telefonos abrir() throws Exception { nhelper = new BDHelper(nContexto); nbd = nhelper.getwritabledatabase(); return this; public void cerrar(){ nhelper.close(); public long crearentrada(string qnombre, String qtelefono) { ContentValues cv = new ContentValues(); cv.put(id_persona, qnombre); cv.put(id_telefono, qtelefono); return nbd.insert(n_tabla, null, cv); public String recibir() { String [] columnas = new String [] {ID_FILA,ID_PERSONA,ID_TELEFONO; Cursor c = nbd.query(n_tabla, columnas, null, null, null, null, null); String resultado = ""; int ifila = c.getcolumnindex(id_fila); int inombre = c.getcolumnindex(id_persona); int itelefono = c.getcolumnindex(id_telefono); for(c.movetofirst();!c.isafterlast(); c.movetonext()){ resultado = resultado + c.getstring(ifila)+ " " + c.getstring(inombre) + " " + c.getstring(itelefono)+ "\n"; return resultado;

AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sqlite_1" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="8" android:targetsdkversion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/apptheme" > <activity android:name=".mainactivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".sqlvista" android:label="sqlvista" > <intent-filter> <action android:name="com.example.sqlite_1.sqlvista" /> <category android:name="android.intent.category.default" /> </intent-filter> </activity> </application> </manifest>