SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE

Tamaño: px
Comenzar la demostración a partir de la página:

Download "SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE"

Transcripción

1 SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE Contenidos Resumen...1 Práctica guiada 7: ListaCompra...1 Implementación de la base de datos...2 Actividad principal: ListaCompraActivity...6 Actividad secundaria: NuevoProductoActivity...9 Resumen En esta quinta sesión del curso de iniciación a Android se aprenderán los conceptos básicos para crear aplicaciones que trabajen con una base de datos SQLite. Se diseñará una base de datos con una única tabla y los métodos de consulta, modificación y eliminación correspondientes. Además se avanzarán en cuestiones como el diseño y la personalización de interfaces que utilicen un componente ListView. También, por primera vez iniciaremos una actividad con startactivityforresult esperando que la actividad llamada devuelva un resultado una vez haya finalizado, y gestionando ese resultado en el método onactivityresult. Práctica guiada 7: ListaCompra La aplicación que vamos a crear permite añadir una serie de productos a una lista de la compra. La lista de elementos se almacenará en una base de datos SQLite. Para cada elemento de la lista se guardará el nombre del producto y la cantidad. La aplicación permitirá añadir elementos a la lista y mostrar los elementos que ya existen en la misma. En la siguiente práctica guiada se ampliará la aplicación para que se puedan modificar o eliminar los productos de la lista a través de un menú contextual y además se incluirá un menú de la aplicación. Para comprender un poco mejor los pasos a realizar, describiremos como es el diseño de la aplicación. Constará de los siguientes componentes: 1. Actividad principal: ListaCompraActivity. 2. Actividad secundaria: NuevoProductoActivity. 3. Gestión de la base de datos: ListaCompraDatabaseAdapter. Crea un nuevo proyecto Android con los siguientes datos: Nombre del proyecto: ListaCompra. SDK: 2.1 (API Level 7). Nombre de la aplicación: ListaCompra. -1-

2 Nombre del paquete: com.cursoandroid. Nombre de la actividad: ListaCompraActivity. Implementación de la base de datos Creamos un nuevo fichero.java que contendrá la clase ListaCompraDatabaseAdapter pulsando con el botón derecho del ratón en el elemento del paquete del proyecto Eclipse: src/cursoandroid, y seleccionando la opción del menú contextual new>class. Esta clase contendrá los métodos necesarios para crear la base de datos e insertar, actualizar y eliminar elementos de la misma. La base de datos contendrá una única tabla con tres columnas: id: identificador de la fila de este elemento. producto: nombre del producto a comprar. cantidad: número de productos que se necesitan comprar. Para facilitar la labor de uso de la base de datos, utilizaremos un objeto de tipo SQLiteOpenHelper. Implementaremos este objeto a través de una clase interna privada dentro del propio fichero (también podría hacerse en un fichero a parte) que llamaremos DatabaseHelper. Este objeto únicamente contendrá el constructor de la clase y los métodos oncreate y onupgrade que se ejecutarán cuando la base de datos se cree por primera vez (cuando no existe aún en el dispositivo), y cuando haya habido una actualización de la base de datos, respectivamente. Este sería el código de esta clase interna: private class DatabaseHelper extends SQLiteOpenHelper{ public DatabaseHelper(Context context) { super(context, DATABASE_NOMBRE, null, DATABASE_VERSION); public void oncreate(sqlitedatabase db) { db.execsql(crear_database); public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { Log.w(TAG, "Actualizando base de datos de la versión " + oldversion + " a la versión " + newversion + ". Se perderán todos los datos."); db.execsql("drop TABLE IF EXISTS productos"); oncreate(db); //end_databasehelper El código de las constantes DATABASE_NOMBRE, DATABASE_VERSION y CREAR_DATABASE está declarado previamente aunque se muestran más adelante en este documento. El constructor DatabaseHelper(Context context) recibe el contexto de la aplicación al que pertenece la base de datos. La inicialización que se hace en este constructor se produce con la llamada al constructor de la clase padre (super) que recibe: el contexto de la aplicación, el nombre de la base de datos, un objeto SQLiteDatabase.CursorFactory que en nuestro caso no será necesario (null) y la versión de la base de datos. El método oncreate(sqlitedatabase db) recibe el objeto que contendrá la base de datos. A este objeto, mediante la llamada al método execsql, le informamos de las sentencias SQL para crear las tablas de la base de datos. -2-

3 El método onupgrade(sqlitedatabase db, int oldversion, int newversion) debe contener las sentencias necesarias para el mantenimiento de la base de datos en caso de alguna actualización, por ejemplo si se modifica una tabla, se añade una tabla nueva, se eliminan tablas, etc. Tal y como hemos implementado este método, si hubiera alguna actualización se perderían todos los datos almacenados en la lista de la compra. Como hemos dicho al inicio de esta sección, el objeto DatabaseHelper se utiliza para facilitar la labor de manipulación de la base de datos. Por tanto, la clase ListaCompraDatabaseAdapter contendrá un objeto de este tipo, a través del cual haremos las llamadas correspondientes para insertar/modificar/eliminar elementos. Veamos cuáles son las constantes y atributos definidos para esta clase: // Definición de la base de datos y las tablas private static final String DATABASE_NOMBRE = "dbcompra"; private static final String DATABASE_TABLA = "productos"; private static final int DATABASE_VERSION = 1; private static final String TAG = "ListaCompraDatabaseAdapter"; // Constantes para definir los nombres de las columnas de la tabla productos public static final String CLAVE_PRODUCTO = "producto"; public static final String CLAVE_CANTIDAD = "cantidad"; public static final String CLAVE_ID = "_id"; // Columnas para la proyección de las consultas private static final String[] COLUMNAS_CONSULTA = {CLAVE_ID, CLAVE_PRODUCTO, CLAVE_CANTIDAD; // Sentencia SQL para la creación de la base de datos private static final String CREAR_DATABASE = "create table " + DATABASE_TABLA + " ( + CLAVE_ID + integer primary key autoincrement, " + CLAVE_PRODUCTO + " text not null, " + CLAVE_CANTIDAD + " integer not null);"; // ATRIBUTOS PRIVADOS private DatabaseHelper dbhelper; private SQLiteDatabase db_compra; private final Context db_context; La declaración de las constantes es autodescriptiva. Destacaremos la sentencia SQL de creación de la base de datos, donde se crea una única tabla productos y se establece la columna id como clave primaria y las columnas producto y cantidad que no pueden estar vacías. Pasamos a describir los atributos privados usados: DatabaseHelper dbhelper. Objeto del tipo de la clase interna privada (ver código anterior). SQLiteDatabase db_compra. A través de este objeto ejecutaremos las sentencias SQL de consulta/modificación de las tablas de la base de datos. Context db_context. Contexto de la aplicación. Necesitamos guardar la referencia al contexto ya que es usado internamente cuando se realiza la apertura de la base de datos. Para que una actividad de nuestra aplicación ListaCompra pueda utilizar la base de datos, deberá construir un objeto de tipo ListaCompraDatabaseActivity e indicar que se desea abrir la base de datos. El motivo de independizar la construcción del objeto de la apertura de la base de datos es optimizar los recursos, únicamente se abre la base de datos cuando se requiere alguna consulta sobre la misma, una vez finalizada la tarea, se cerrará la conexión para liberar dichos recursos. A continuación se muestra el código que gestiona dichas acciones: la construcción del objeto y la apertura y cierre de la base de datos. -3-

4 public ListaCompraDatabaseAdapter(Context ctx) { this.db_context = ctx; public ListaCompraDatabaseAdapter open() throws SQLException { this.dbhelper = new DatabaseHelper(this.db_context); this.db_compra = this.dbhelper.getwritabledatabase(); return this; public void close() { this.dbhelper.close(); La única acción que realiza el constructor es almacenar el contexto de la aplicación que es necesario en la creación del objeto DatabaseHelper dentro del método open. La llamada a getwritabledatabase devuelve un objeto de tipo SQLiteDatabase con acceso de lectura/escritura que almacenamos en el atributo db_compra. El motivo de devolver una referencia del mismo objeto (this) es para permitir una inicialización encadenada, es decir, que el objeto devuelto por la llamada de este método se pase como parámetro de otro método. El método close cierra la conexión iniciada previamente, liberando así los recursos abiertos. Para concluir la implementación de esta clase, debemos incluir los métodos de inserción, eliminación y consulta de productos almacenados en la tabla productos. Como quizás se pueda intuir a estas alturas, para hacer esto debemos hacer uso del objeto SQLiteDatabase obtenido en el método open y almacenado en el atributo db_compra. Este objeto tiene métodos insert, delete y query, entre otros, que facilitan la labor de gestión de las sentencias SQL, abstrayéndolo del mismo. El código de estas funciones se lista a continuación: public long crearelemento(string producto, int cantidad) { ContentValues valoresproducto = new ContentValues(); valoresproducto.put(clave_producto, producto); valoresproducto.put(clave_cantidad, cantidad); return this.db_compra.insert(database_tabla, null, valoresproducto); public boolean borrarelemento(long rowid) { return this.db_compra.delete(database_tabla, CLAVE_ID + "=" + rowid, null) > 0; public Cursor obtenertodoselementos() { return this.db_compra.query(database_tabla, COLUMNAS_CONSULTA, null, null, null, null, null); public Cursor obtenerelemento(long rowid) throws SQLException { Cursor mcursor = this.db_compra.query(true, DATABASE_TABLA, COLUMNAS_CONSULTA, CLAVE_ID + "=" + rowid, null, null, null, null, null); if (mcursor!= null) { mcursor.movetofirst(); return mcursor; public boolean actualizarelemento(long rowid, String producto, int cantidad) { ContentValues args = new ContentValues(); args.put(clave_producto, producto); -4-

5 args.put(clave_cantidad, cantidad); return this.db_compra.update(database_tabla, args, CLAVE_ID + "=" + rowid, null) > 0; La explicación de lo que realiza cada uno de los métodos es la siguiente: 1. public long crearelemento(string producto, int cantidad). El método inserta en la tabla productos el elemento cuyos datos se pasan por parámetro y se retorna el identificador de este elemento. Los valores del elemento se almacenan en un objeto ContentValues en la forma clave-valor que posteriormente recibe el método insert cuyos parámetros son: la tabla donde almacenar el elemento, la lista de columnas con valores nulos (es opcional y puede ser null) y un objeto ContentValues donde, la clave es el nombre de la columna de la tabla y el valor, el elemento a almacenar en dicha columna. 2. public boolean borrarelemento(long rowid). Borra el elemento cuyo identificador es especificado por el parámetro, y devuelve true si se ha borrado con éxito o false en caso contrario. Para hacer esto, se ejecuta el método delete del objeto SQLiteDatabase que recibe por parámetro la tabla, y la clausula WHERE que ha de cumplir el elemento o los elementos que se van a eliminar. Si se pasara null se eliminarían todas las filas de la tabla. El tercer argumento es opcional. 3. public Cursor obtenertodoselementos(). Este método devuelve un objeto Cursor sobre todos los elementos de la lista de la compra. La consulta se realiza a través del método query que recibe una extensa lista de parámetros: boolean distinct: true si queremos que no haya duplicados en las filas obtenidas. String table: nombre de la tabla sobre la que se realiza la consulta. String [] columns: columnas de las que queremos obtener la información. String selection: condiciones que deben cumplir las filas seleccionadas, codificadas como la clausula WHERE. String [] selectionargs: La cadena selection anterior se puede parametrizar, utilizando el símbolo? que será sustituido por los valores contenidos en este vector. Es útil para preformatear las cadenas de selección y utilizar los datos recibidos por parámetro. String groupby: filtro para establecer como agrupar las filas. String having: si la clausula groupby es usada, la clausula having establece un filtro sobre qué grupo de filas deben aparecer en la consulta. String orderby: establece como ordenar las filas. String limit: establece el número máximo de filas a devolver por el Cursor, si no se indica no hay ningún límite. 4. public Cursor obtenerelemento(long rowid). Similar al anterior, pero en este caso se usa el parámetro selection para devolver la fila que coincida con el identificador pasado por parámetro. 5. public boolean actualizarelemento(long rowid, String producto, int cantidad). Es muy similar al método crearelemento. En este caso se hace uso del método update que recibe los mismos parámetros que insert, pero permutados: nombre de la tabla, objeto ContentValues con los nuevos valores a modificar, clausula WHERE y clausula WHERE parametrizada (con los símbolos?). -5-

6 Aquí finaliza la descripción de la clase utilitaria para la base de datos donde almacenaremos la lista de productos pendientes de compra. A continuación se explicará como se ha de codificar las dos actividades de las que se compone esta aplicación ListaCompra. Actividad Una vez la aplicación ListaCompra esté finalizada, puede probar a modificar el valor de la constante VERSION definida en esta clase. Verá que al ejecutar nuevamente la aplicación en el emulador, todos los elementos de la lista se eliminarán. Un buen ejercicio sería modificar el método onupdate para que cuando se produzca una actualización no se pierdan los datos almacenados. Actividad principal: ListaCompraActivity El diseño de esta actividad se compone de dos tareas: el diseño de la interfaz gráfica en el correspondiente fichero xml de layout, y la codificación de la clase Java que heredará de ListActivity. Empezaremos mostrando cuál es el código xml de la interfaz de esta actividad que se ha codificado en el fichero main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/ańadir" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/ańadir" /> <TextView android:id="@android:id/empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/no_elements"/> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout> Hasta el momento veníamos obviando el diseño de la interfaz gráfica ya que se proponía como ejercicio para el lector. En este caso se muestra para destacar varias peculiaridades de esta aplicación. El gestor de distribución es un componente LinearLayout que contiene 3 elementos. El primero de ellos es un Button que se utilizará para llamar a la actividad que añade nuevos productos a la compra (nada de peculiar en esto). El siguiente elemento es un TextView que mostrará el mensaje de No se han añadido productos en caso de que la lista de la compra esté vacía. Para lograr esto, el id de este elemento debe Si hubiera elementos que mostrar en la lista, el sistema Android buscaría un -6-

7 elemento cuyo identificador coincidiera que es justo el identificador definido para el tercer elemento del layout, el ListView. Estos identificadores de elementos están predefinidos y pertenecen al espacio de nombres de Android. La clase ListaCompraActivity debe heredar de ListActivity. El método oncreate debe abrir una conexión a la base de datos para rellenar la lista de la compra y establecer el listener del botón Añadir que abrirá la actividad NuevoProductoActivity. A continuación se muestra este código: public class ListaCompraActivity extends ListActivity { // Constantes para identificar diferentes acciones a lanzar por un Intent. private static final int ACTIVITY_CREAR=0; // Atributos privados private ListaCompraDatabaseAdapter dbadapter; private Button bańadir ; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); dbadapter = new ListaCompraDatabaseAdapter(this); dbadapter.open(); rellenarlista(); bańadir = (Button)findViewById(R.id.ańadir ); bańadir.setonclicklistener(new OnClickListener(){ public void onclick(view v) { ańadirproducto(); ); //end_oncreate //end_class Veamos ahora como rellenar la vista de la actividad con los datos de la base de datos, esto es, como implementar el método rellenarlista(): private void rellenarlista() { Cursor comprascursor = dbadapter.obtenertodoselementos(); startmanagingcursor(comprascursor); // Array para especificar las columnas que se mostrarán en el ListView (solo Producto) String[] desde = new String[]{ListaCompraDatabaseAdapter.CLAVE_PRODUCTO; // Array con los id de los elementos de layout con los que se enlazarán los datos de la consulta int[] hacia = new int[]{r.id.tvproducto; // Creamos un objeto SimpleCursorAdapter que enlazará el resultado de la consulta con el ListView SimpleCursorAdapter compras = new SimpleCursorAdapter(this, R.layout.producto_row, comprascursor, desde, hacia); setlistadapter(compras); En primer lugar se obtiene un cursor sobre todos los elementos de la base de datos llamando al método obtenertodoselementos y seguidamente se pasa como parámetro a startmanagingcursor. Este método lo que hace es gestionar de forma automática el cursor con respecto al ciclo de vida de la actividad. Si la actividad es pausada, el cursor libera los recursos y en el momento que la actividad pase a primer plano se recupera la conexión con la base de datos. Este método se ha declarado como obsoleto, a partir de la versión 3.0 (HONEYCOMB) la forma preferente es usar la clase CursorLoader -7-

8 a través de un objeto LoaderManager. Además estas clases están disponibles en plataformas antiguas por medio del paquete de compatibilidad de Android. Más información acerca de Loaders en: Nota Más adelante, una vez se haya finalizado la aplicación, se puede modificar la llamada a startmanagingcursor por un código más apropiado que use un CursorLoader. Los vectores desde y hacia se utilizan para enlazar el resultset (las filas resultado de la consulta sql) del Cursor con los elementos de la interfaz gráfica, es decir, qué columnas del resultset se van a mostrar en qué componente del layout. Por tanto debemos crear un nuevo fichero de layout con el fin de visualizar cada uno de las filas de esta lista (recordemos como personalizamos el layout de los elementos de un ListView en la aplicación EquiposFutbol). Estos vectores se han diseñado de la siguiente manera: String[] desde: contiene los nombres de las columnas que se van a visualizar, de momento solo el nombre del producto. int[] hacia: contiene los identificadores de los elementos del layout en los que se va a mostrar la información de la consulta, en este caso solo un TextView para mostrar el nombre del producto. Solo faltaría crear un objeto Adapter para asociarlo al ListView de la actividad, usaremos un SimpleCursorAdapter, aunque este constructor también está obsoleto. Actividad Diseña el fichero de layout producto_row.xml necesario para visualizar el nombre del producto en el ListView. Más adelante, una vez finalizada la aplicación, modifica el código anterior para que se visualice también el valor de la cantidad de cada producto. La actividad aún está incompleta. Debemos dar respuesta al evento de pulsación sobre el botón que hemos colocado en la interfaz. Este botón debe abrir una actividad que añada un nuevo producto a la lista de la compra. Una vez iniciada la actividad se debe esperar respuesta, si se ha añadido el producto con éxito o no, por tanto se iniciará la nueva actividad con la llamada a startactivityforresult. La llamada a esta función requiere de un parámetro, un número entero mayor o igual que 0 en el que se informe de la acción que se lleva acabo y que será retornado en el método onactivityresult. Esto es de utilidad ya que permitirá dar una respuesta personalizada según que acción, cuando se obtienen los resultados en el método onactivityresult. Con todo lo descrito anteriormente, la implementación de este método será: protected void ańadirproducto(){ Intent i = new Intent(this, NuevoProductoActivity.class); startactivityforresult(i, ACTIVITY_CREAR); -8-

9 Para dar respuesta a la actividad iniciada, debemos sobrescribir el método onactivityresult en el que se comprobará si se ha añadido con éxito un nuevo producto, y en ese caso rellenar de nuevo la lista de la compra. protected void onactivityresult(int requestcode, int resultcode, Intent intent) { super.onactivityresult(requestcode, resultcode, intent); if(resultcode==activity.result_ok) rellenarlista(); Con esto damos por finalizada la actividad principal de la aplicación ListaCompra, solo falta proveer el mecanismo adecuado para poder añadir elementos que comprar a nuestra lista. Pasamos a describir la implementación de la actividad NuevoProductoActivity. Actividad secundaria: NuevoProductoActivity Esta actividad se encarga de añadir nuevos elementos a la base de datos. Debe pedir al usuario que introduzca el nombre del producto y la cantidad del mismo. Actividad Diseña la interfaz gráfica en el fichero de layout nuevo_producto.xml. La interfaz contendrá un elemento Button y dos elementos TextView, uno de ellos, el correspondiente a la cantidad, con el atributo android:inputtype= number para que solo se puedan introducir números naturales (no negativos). El método oncreate de esta actividad debe obtener las referencias a los elementos del layout, iniciar la conexión con la base de datos y establecer el listener del botón aceptar para salvar los datos del nuevo producto. public class NuevoProductoActivity extends Activity { // Manejador de la base de datos private ListaCompraDatabaseAdapter dbadapter; // Atributos para referenciar elementos del layout private EditText nombre_producto; private EditText cantidad; private Button baceptar; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.nuevo_producto); dbadapter = new ListaCompraDatabaseAdapter(this); dbadapter.open(); nombre_producto = (EditText)findViewById(R.id.etProducto); cantidad = (EditText)findViewById(R.id.etCantidad); baceptar = (Button)findViewById(R.id.bAceptar); baceptar.setonclicklistener(new OnClickListener(){ public void onclick(view v) { if(salvarproducto()){ setresult(activity.result_ok); -9-

10 ); //end_oncreate //end_class finish(); Nótese que los identificadores para obtener los elementos de layout pueden variar en función de los que haya especificado en su propio fichero. Ya debe estar suficientemente familiarizado con el código anterior. Resaltaremos que el método onclick del botón Aceptar llama al método salvarproducto que devuelve un valor boolean para informar del éxito de la inserción en la base de datos. Se informa del éxito (true) de la actividad con el método setresult y la constante RESULT_OK de la clase Activity. Este valor será informado como parámetro del método onactivityresult. El método salvarproducto obtiene los datos de la interfaz y llama al método crearelemento del objeto manejador de la base de datos. El único punto conflictivo que puede ocurrir en este método es que se intente insertar en la base de datos valores nulos, por lo que se deberá manejar adecuadamente. El código del método es el siguiente: protected boolean salvarproducto(){ boolean exito = false; try { String producto = this.nombre_producto.gettext().tostring(); int cantidad = Integer.valueOf(this.cantidad.getText().toString()); this.dbadapter.crearelemento(producto, cantidad); exito = true; catch (NumberFormatException e) { Toast.makeText(this, "Es obligatorio introducir la cantidad", Toast.LENGTH_LONG); return exito; Actividad La implementación anterior permite insertar un nuevo producto sin nombre. Modifica el código para que esto no ocurra. -10-

ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE

ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE 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

Más detalles

Ejercicios - Persistencia en Android: ficheros y SQLite

Ejercicios - Persistencia en Android: ficheros y SQLite Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base

Más detalles

www.android-spa.com Android Creación de una aplicación sencilla: Forwarding - Página 1 -

www.android-spa.com Android Creación de una aplicación sencilla: Forwarding - Página 1 - Android Creación de una aplicación sencilla: Forwarding - Página 1 - Realización de la aplicación Forwarding en Android Este es un pequeño tutorial con el que se realizará un pequeño programa para Android

Más detalles

Ejercicios - Persistencia en Android: proveedores de contenidos y SharedPreferences

Ejercicios - Persistencia en Android: proveedores de contenidos y SharedPreferences Ejercicios - Persistencia en Android: proveedores de contenidos y SharedPreferences Índice 1 Compartir datos entre actividades con Shared Preferences (0.75 puntos)... 2 2 Actividad de preferencias (0.75

Más detalles

MODELO DE IMPLEMENTACIÓN

MODELO DE IMPLEMENTACIÓN Capítulo 4 MODELO DE IMPLEMENTACIÓN 4.1 Introducción El Modelo de implementación utiliza el resultado del Modelo de diseño para generar el código final en el lenguaje de programación elegido [10]. Aunque

Más detalles

1.- Creamos un proyecto al que llamaremos MusicaMovil.

1.- Creamos un proyecto al que llamaremos MusicaMovil. Base de datos en Android. (Modelo de la BD) Este ejercicio probablemente parecerá absurdo, pero no pretendo hacer un reproductor de música, sino más bien es un previo para un diccionario de español a maya

Más detalles

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

Persistencia. Mecanismos de persistencia. Preferencias. Curso 12/13 Curso 12/13 Aplicaciones Persistencia Mecanismos de persistencia Sistema de ficheros (privado) Bases de datos SQLite Almacenamiento externo (público) Conexiones de red 2 Las preferencias son una forma

Más detalles

Curso 12/13. Desarrollo de Aplicaciones Android. Persistencia

Curso 12/13. Desarrollo de Aplicaciones Android. Persistencia Curso 12/13 Desarrollo de Aplicaciones Persistencia Mecanismos de persistencia Preferencias Sistema de ficheros (privado) Bases de datos SQLite Almacenamiento externo (público) Conexiones de red 2 Preferencias

Más detalles

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

PRACTICAS DE ANDROID 12 - Lanzar un segundo Activity y pasar parámetros Problema: PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Hemos visto en el concepto anterior que un programa puede tener más de una ventana representando cada ventana con una clase que

Más detalles

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PHPMYADMIN Y MYSQL Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PhpMyAdmin es una herramienta para la administración del servidor de base de datos MySQL que dispone

Más detalles

Crear una Activity en Android. Paso por paso

Crear una Activity en Android. Paso por paso 19-03-2014 Crear una Activity en Android. Paso por paso Una breve descripción de qué hacer cuando las herramientas de desarrollo de Android se convierten en nuestros enemigos. A veces, puede pasar que

Más detalles

Práctica sobre compartición de instancias remotas.

Práctica sobre compartición de instancias remotas. Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta

Más detalles

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

TP Nº4 Android - SQLite Fecha Miércoles 2014/08/29 Profesor: Pablo Ulman (Polshu) BASES DE DATOS EN ANDROID Soluciones de Almacenamiento de Datos: Shared Preferences: o Datos primitivos privados almacenados con clave/valor Internal Storage: o Almacenamiento interno en la memoria del

Más detalles

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

La funcionalidad básica es la del proyecto 1 (Pacman III). Sobre ella reemplazamos la interfaz de usuario para adaptarla al nuevo entorno Pacman en android 14.5.2015 1 Objetivos Pasar el juego del proyecto 1 (Pacman III) a una plataforma Android. movimiento del jugador dirigido por el dedo programación de menús contextuales gestión de threads

Más detalles

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

Ejercicio 4. Manejo de Layouts en Android. Android Con Java. Ejercicio 4. Manejo de Layouts en Android. Curso de Android con Java Android Con Java Ejercicio 4 Manejo de Layouts en Android Objetivo del Ejercicio El objetivo del ejercicio es entender el manejo de Layout y los Adaptadores en Android. Al finalizar deberemos observar

Más detalles

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA

Más detalles

Manual del Protocolo XML-RPC de Mensajería Negocios

Manual del Protocolo XML-RPC de Mensajería Negocios Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...

Más detalles

CODIGO PROYECTO: AppPixelproServicioWeb Proyecto Android - Servicio Web

CODIGO PROYECTO: AppPixelproServicioWeb Proyecto Android - Servicio Web CODIGO PROYECTO: AppPixelproServicioWeb Proyecto Android - Servicio Web I. Alcances del Proyecto a. Ide Eclipse Indigo 3.7 b. Api 10-17, Versión Android 2.3.3 A 4.2.2 c. Jdk 1.6 II. Conceptos Relacionados

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Las propiedades de la clase en java es el equivalente a las variables globales en lenguajes estructurados como el C.

Las propiedades de la clase en java es el equivalente a las variables globales en lenguajes estructurados como el C. EJERCICIO GUIADO. JAVA: VARIABLES GLOBALES Variables Globales / Propiedades de la Clase Las propiedades de la clase en java es el equivalente a las variables globales en lenguajes estructurados como el

Más detalles

Almacenamiento de datos. JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Febrero 2012

Almacenamiento de datos. JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Febrero 2012 Almacenamiento de datos JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Febrero 2012 Contenidos Almacenamiento de preferencias. Almacenamiento en la memoria interna. Almacenamiento en la memoria externa.

Más detalles

Manual CMS Mobincube

Manual CMS Mobincube Manual CMS Mobincube CMS Mobincube Qué es? El CMS (Sistema de Gestión de Contenidos) es un completo website que permite la creación y actualización de contenido remoto. De esta forma, una vez creada una

Más detalles

1. El entorno de desarrollo Eclipse

1. El entorno de desarrollo Eclipse Índice 1. El entorno de desarrollo Eclipse 1 1.1. Qué es Eclipse?........................................................ 1 1.2. Trabajando con Eclipse....................................................

Más detalles

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

Curso PUDE. Desarrollo de Aplicaciones Móviles en Android

Curso PUDE. Desarrollo de Aplicaciones Móviles en Android Curso PUDE Ejercicio Avanzado A: Bases de Datos y conexión con un ListView utilizando vistas A. Descripción Con este ejercicio, veremos cómo funcionan las bases de datos SQLite en Android, crearemos una,

Más detalles

Persistencia en Android: ficheros y SQLite

Persistencia en Android: ficheros y SQLite Persistencia en Android: ficheros y SQLite Índice 1 Introducción...2 2 Manejo de ficheros tradicionales en Android...2 2.1 Apertura de ficheros...2 2.2 Ficheros como recursos...3 2.3 Operar con ficheros...3

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Dossier de prácticas

Dossier de prácticas Dossier de prácticas Intranet / Extranet Màster d Enginyeria del Software Desenvolupament d aplicacions sobre Internet Fundació Politècnica de Catalunya Jaume Moral Ros Albert Obiols Vives 1 Dossier de

Más detalles

port@firmas V.2.3.1 Manual de Portafirmas V.2.3.1

port@firmas V.2.3.1 Manual de Portafirmas V.2.3.1 Manual de Portafirmas V.2.3.1 1 1.- Introducción 2.- Acceso 3.- Interfaz 4.- Bandejas de peticiones 5.- Etiquetas 6.- Búsquedas 7.- Petición de firma 8.- Redactar petición 9.- Firma 10.- Devolución de

Más detalles

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access) Administración de la producción Sesión 10: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones,

Más detalles

%& %)& '$!%*+ $, %%%&$ %%

%& %)& '$!%*+ $, %%%&$ %% OBJETIVO!!"#$$ %& '(%"#% (% %& %)& '$!%*+ $, %%%&$ %% REQUERIMIENTOS SOFTWARE VERSIÓN LINK Java Development Kit (JDK) 6 http://java.sun.com NetBeans 6.1 http://www.netbeans.org MySQL 5.0 http://dev.mysql.com/

Más detalles

MANUAL DE AYUDA MÓDULO PDA ALMACEN E INVENTARIO

MANUAL DE AYUDA MÓDULO PDA ALMACEN E INVENTARIO MANUAL DE AYUDA MÓDULO PDA ALMACEN E INVENTARIO INDICE DE CONTENIDOS 1) INTRODUCCIÓN... 3 2) OPERACIÓN CON LA PDA... 3 3) GOTELGEST.NET PDA... 3 1) PANTALLA DE INICIO... 3 2) NUEVO DOCUMENTO... 3 3) EDITAR

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

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

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante) 1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los

Más detalles

Desarrollo de Servicios Web con JBuilder

Desarrollo de Servicios Web con JBuilder Artículos técnicos Grupo Danysoft: Desarrollo de Servicios Web con JBuilder Segunda parte Oscar Cristobal Ruiz Departamento Java Equipo Grupo Danysoft Enero 2003 - (902) 123146 www.danysoft.com Desarrollo

Más detalles

Programación Android. Alejandro Alcalde. elbauldelprogramador.com

Programación Android. Alejandro Alcalde. elbauldelprogramador.com Programación Android Alejandro Alcalde elbauldelprogramador.com Copyright c 2013 Alejandro Alcalde P L A TEX. Programación Android por Alejandro Alcalde se encuentra bajo una Licencia Creative Commons

Más detalles

Introducción al lenguaje Java

Introducción al lenguaje Java Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19

Más detalles

Trabajos de Ampliación. Bases de datos NoSQL.

Trabajos de Ampliación. Bases de datos NoSQL. BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos

Más detalles

Practica 11: Conexión de Java con Bases de datos Access

Practica 11: Conexión de Java con Bases de datos Access Practica 11: Conexión de Java con Bases de datos Access En esta práctica vamos a crear una base de datos Microsoft Access y luego vamos a conectarnos desde una aplicación java haciendo uso del puente JDBC-ODBC

Más detalles

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

Más detalles

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS 1 Introducción... 3 2 Despliegue de la aplicación de ejemplo... 3 2.1 Requisitos previos... 3 2.2 Despliegue de la aplicación... 3 3 Prueba

Más detalles

Gestión de Retales WhitePaper Noviembre de 2009

Gestión de Retales WhitePaper Noviembre de 2009 Gestión de Retales WhitePaper Noviembre de 2009 Contenidos 1. Introducción 3 2. Almacén de retales 4 3. Propiedades de los materiales 6 4. Alta de retales 8 5. Utilización de retales en un lote de producción

Más detalles

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS Nuestra empresa es una pequeña editorial que maneja habitualmente su lista de ventas en una hoja de cálculo y desea poder realizar un análisis de sus

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

A- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN

A- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN Pag - 1 Guía de Elaboración de Reportes Herramienta de Administración 2.0 A- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN NOTA: Los pasos de esta sección deben ser ejecutados si identifica realizar

Más detalles

Manual de rol gestor de GAV para moodle 2.5

Manual de rol gestor de GAV para moodle 2.5 Manual de rol gestor de GAV para moodle 2.5 Consultas LDAP-GAUR... 2 Buscar en LDAP datos de un usuario... 2 Docentes... 3 Buscar en GAUR datos de un docente... 3 Buscar en GAUR la docencia de un docente

Más detalles

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

Tema 2: Diseño de servicios para móviles Tema 2: Diseño de servicios para móviles Listas y menús 2013-2014 Depto. Ciencia de la Computación e IA Puntos a tratar Spinners Listas Adaptadores Menús de opciones Menús contextuales 2 Spinner Cuadro

Más detalles

BASES DE DATOS - Microsoft ACCESS 2007-

BASES DE DATOS - Microsoft ACCESS 2007- BASES DE DATOS - Microsoft ACCESS 2007- Una base de datos es un archivo estructurado de datos que nos permite almacenarlos, modificarlos, ordenarlos, generar informes etc., de manera rápida. Un listín

Más detalles

Programación orientada a objetos

Programación orientada a objetos Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!

Más detalles

MANUAL PARA EMPRESAS PRÁCTICAS CURRICULARES

MANUAL PARA EMPRESAS PRÁCTICAS CURRICULARES MANUAL PARA EMPRESAS PRÁCTICAS CURRICULARES ÍNDICE 1. Introducción... 3. Registro y Acceso... 3.1. Registro Guiado... 4.1. Registro Guiado Datos Básicos... 5.1. Registro Guiado Contactos... 6 3. Creación

Más detalles

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)

Más detalles

MANUAL DE LA APLICACIÓN HELP DESK

MANUAL DE LA APLICACIÓN HELP DESK CASAMOTOR MANUAL DE LA APLICACIÓN HELP DESK Desarrollado por: NOVIEMBRE, 2012 BOGOTÁ D.C. - COLOMBIA INTRODUCCIÓN Este documento es el manual de la aplicación de Help Desk de Casamotor, producto desarrollado

Más detalles

Combinar comentarios y cambios de varios documentos en un documento

Combinar comentarios y cambios de varios documentos en un documento Combinar comentarios y cambios de varios documentos en un documento Si envía un documento a varios revisores para que lo revisen y cada uno de ellos devuelve el documento, puede combinar los documentos

Más detalles

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Preguntas frecuentes Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Atención! Esta opción es de configuración y solamente la prodrá realizar el administrador de la

Más detalles

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

Manual de NetBeans y XAMPP

Manual de NetBeans y XAMPP Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación

Más detalles

2.4. BASES DE DATOS SQLITE

2.4. BASES DE DATOS SQLITE 2.4. BASES DE DATOS SQLITE SQLite es un potente motor de base de datos, creado en el año 2000 por el Dr. Richard Hipp. Podríamos decir, que se trata del motor más usado en el mundo, ya que se encuentra

Más detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas para la instalación de un lector de tarjetas inteligentes. Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación

Más detalles

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS UNA SESIÓN EN SPSS INTRODUCCIÓN. SPSS (Statistical Product and Service Solutions) es un paquete estadístico orientado, en principio, al ámbito de aplicación de las Ciencias sociales, es uno de las herramientas

Más detalles

Microsoft Access. Microsoft Access es una herramienta de Microsoft para la definición y manipulación de bases de datos.

Microsoft Access. Microsoft Access es una herramienta de Microsoft para la definición y manipulación de bases de datos. Prácticas de Introducción al uso de Computadores Curso 2001-2002 1 Microsoft Access Introducción Microsoft Access es una herramienta de Microsoft para la definición y manipulación de bases de datos. Una

Más detalles

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda: Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor

Más detalles

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico) MANUAL DE AYUDA SAT Móvil (Movilidad del Servicio Técnico) Fecha última revisión: Abril 2015 INDICE DE CONTENIDOS INTRODUCCION SAT Móvil... 3 CONFIGURACIONES PREVIAS EN GOTELGEST.NET... 4 1. INSTALACIÓN

Más detalles

Trazabilidad ERP Microsa Gestión de Lotes

Trazabilidad ERP Microsa Gestión de Lotes Fecha revisión: 11/10/2004 La rastreabilidad o trazabilidad (del inglés traceability) representa el rastreo de un producto desde un punto cualquiera de la cadena de suministro hasta el origen u orígenes,

Más detalles

Herramienta Encuestas. MiAulario

Herramienta Encuestas. MiAulario Herramienta Encuestas MiAulario Introducción... 2 Menú de la herramienta... 3 Panel de encuestas... 3 Mis encuestas... 4 Añadir encuesta... 4 Mis plantillas... 7 Añadir elemento: pregunta o cabecera...

Más detalles

Traslado de Copias y Presentación de Escritos. Manual de Usuario V.3.1

Traslado de Copias y Presentación de Escritos. Manual de Usuario V.3.1 Traslado de Copias y Presentación de Escritos Manual de Usuario V.3.1 Página: 2 45 INDICE INTRODUCCIÓN... 3 1 ACCESO A LA APLICACIÓN... 3 2 PROCESO DE FIRMA... 4 3 TRASLADOS PENDIENTES DE ACEPTAR POR EL

Más detalles

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

Introducción al manejo de Bases de Datos con SQLite. Version Android Universidad de El Salvador Facultad de Ingeniería y Arquitectura Escuela de Ingeniería en Sistemas Programación en Dispositivos Móviles Objetivo: Guía de Laboratorio N 06 A Introducción al manejo de Bases

Más detalles

MANUAL DE LA APLICACIÓN DE ENVÍO DE SMS

MANUAL DE LA APLICACIÓN DE ENVÍO DE SMS MANUAL DE LA APLICACIÓN DE ENVÍO DE SMS SEGUIMIENTO DE VERSIONES Versión Novedades respecto a la versión anterior Fecha Versión 1.0 14/03/2011 Página 2 ÍNDICE ÍNDICE... 3 1. INTRODUCCIÓN... 4 2. MÓDULO

Más detalles

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

Segunda práctica de Programación 2

Segunda práctica de Programación 2 Segunda práctica de Programación 2 La segunda práctica consistirá en el diseño y posterior implementación como proyecto de Netbeans de dos versiones sobre el mismo problema. El tema central de ambas versiones

Más detalles

Curso PUDE. Desarrollo de Aplicaciones Móviles en Android

Curso PUDE. Desarrollo de Aplicaciones Móviles en Android Curso PUDE A. Descripción En este ejercicio, introduciremos cómo funcionan los servicios de localización en Android y explicaremos cómo conseguir que la API de Android nos indique nuestra posición GPS.

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

Formularios. Formularios Diapositiva 1

Formularios. Formularios Diapositiva 1 Formularios Crear un formulario utilizando el Asistente para formularios Modificación en vista Diseño Adición de Controles a un Formulario Adición de un Subformulario a un formulario Formularios Diapositiva

Más detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

Aplicación Android de Asistencia al Caminante

Aplicación Android de Asistencia al Caminante Aplicación Android de Asistencia al Caminante Enrique R. Delgado Garrido Almacenamiento de datos en Android. Documento: Índice de contenido.1 A2.- Almacenamiento de datos en Android.2 A.2.1 - Preferences2

Más detalles

SIGUIENDO EL CAMINO Prerrequisitos: Tener adecuadamente configurado los ajustes de voz/sonidos en configuración Avisos Voz/sonidos

SIGUIENDO EL CAMINO Prerrequisitos: Tener adecuadamente configurado los ajustes de voz/sonidos en configuración Avisos Voz/sonidos SIGUIENDO EL CAMINO Prerrequisitos: Tener adecuadamente configurado los ajustes de voz/sonidos en configuración Avisos Voz/sonidos : Max. Avisos Wpt. alarma: Es el número MÁXIMO de veces que sonará el

Más detalles

GedicoPDA: software de preventa

GedicoPDA: software de preventa GedicoPDA: software de preventa GedicoPDA es un sistema integrado para la toma de pedidos de preventa y gestión de cobros diseñado para trabajar con ruteros de clientes. La aplicación PDA está perfectamente

Más detalles

Manual de uso de Moodle para alumnos

Manual de uso de Moodle para alumnos Manual de uso de Moodle para alumnos Versión adaptada para Eureka FACULTAD DE PSICOLOGÍA - UNIVERSIDAD DE GRANADA Granada, Septiembre 2011 1. Primeros pasos...3 I. Registro de alumnos...3 II. Olvidó su

Más detalles

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

Interfaz de usuario Layout Vistas Adaptadores Eventos de interacción Estilos y temas Interfaz de usuario Layout Vistas Adaptadores Eventos de interacción Estilos y temas Interfaz de usuario Layout Vistas Adaptadores Eventos de interacción Estilos y temas Activity [Form] Pantalla que se

Más detalles

13.1. Tablas dinámicas de Excel

13.1. Tablas dinámicas de Excel 13.1. Tablas dinámicas de Excel Una tabla dinámica consiste en el resumen de un conjunto de datos, atendiendo a varios criterios de agrupación, representado como una tabla de doble entrada que nos facilita

Más detalles

NORMA 34.14(SEPA) 05/11/2013

NORMA 34.14(SEPA) 05/11/2013 NORMA 34.14(SEPA) 05/11/2013 1. Descripción La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que se efectúe el pago de transferencias a los beneficiarios

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Generalidades y conceptos Combinar correspondencia Word, a través de la herramienta combinar correspondencia, permite combinar un documento el que puede ser una carta con el texto que se pretende hacer

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

STRATO LivePages Inicio rápido

STRATO LivePages Inicio rápido STRATO LivePages Inicio rápido LivePages es la práctica herramienta de creación de páginas web de STRATO. En pocos pasos podrá crear su propia página web y publicarla en Internet sin necesidad de conocimientos

Más detalles

Utilidades para el control de stock de los artículos

Utilidades para el control de stock de los artículos Utilidades para el control de stock de los artículos El control de stock de los artículos es una gestión muy compleja dentro de una empresa. El funcionamiento básico de la aplicación consiste en gestionar

Más detalles

ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.

ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas. ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas. Sala de sistemas, Video proyector, Guías RECURSOS ACTIVIDADES PEDAGÓGICAS

Más detalles

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla. 4. TABLAS A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla. 4.1. Principales Elementos Al momento de generar y diseñar una tabla es importante

Más detalles

GVisualPDA Módulo de Almacén

GVisualPDA Módulo de Almacén GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en

Más detalles

Uso del Programa Gantt Project

Uso del Programa Gantt Project Uso del Programa Gantt Project Presentación En esta práctica guiada aprenderás varias cosas relacionadas con el uso de Gantt Project, que es una aplicación de ayuda a la gestión de proyectos: Especificar

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Manual de Usuario - Traslado de Copias Versión Procurador

Manual de Usuario - Traslado de Copias Versión Procurador Manual de Usuario - Traslado de Copias Versión Procurador Fecha 25 Septiembre 2012 NEXTEL Engineering Systems S.L. Avda. de Manoteras, 18 28050 - Madrid [SPAIN] Tlf: [34] 91 803 38 02 / Fax: [34] 91 302

Más detalles