Curso PUDE. Desarrollo de Aplicaciones Móviles en Android

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Curso PUDE. Desarrollo de Aplicaciones Móviles en Android"

Transcripción

1 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, y la conectaremos con una actividad en forma de ListView muy simple. A continuación, el alumno deberá mejorar la forma en que se visualizan de forma que sea elegante sin que la interfaz de usuario sufra ralentización alguna. Las ListViews son muy importantes en toda aplicación Android. Es más, hay aplicaciones cuyas interfaces se construyen alrededor de ListViews, como los clientes de Twitter o de Facebook. Para almacenar información en el dispositivo Android, podremos recurrir a una base de datos de tipo SQLite, que nos permitirá un acceso rápido a los datos en comparación con el sistema de archivos, pero tenemos que tener siempre en cuenta que los dispositivos Android están siendo distribuidos con poca memoria interna (o ROM), que es donde se almacena la base de datos, por lo que no conviene abusar de ella. B. Implementación B- 1. Examinando el código escrito: construcción de la Base de Datos Para construir una base de datos, necesitaremos al menos dos clases. En la primera, representaremos lo que vamos a guardar en cada fila de la tabla como un objeto Java, siguiendo un poco los patrones JavaBean y DAO (o Data Access Object). En la segunda clase, tendremos los métodos encargados de construir la tabla, de actualizarla, de borrarla, y de insertar los valores iniciales. Cuál es el objetivo? Nosotros construiremos una capa encima de la base de datos, de forma que no veremos un SELECT * FROM en nuestro código a menos que sea en estas dos clases. En SQLite, disponemos de unos recursos limitados, ya que la idea de SQLite es de ocupar el menor espacio posible. Tanto es así, que no existen claves ajenas o foráneas, ni existen los tipos de fecha (Date), booleano (Boolean), ni tantos otros a los que estamos acostumbrados en SQL de sobremesa y servidores. Esto nos llevaría, en caso necesario, a Página 1 de 10

2 forzar manualmente la comprobación de claves ajenas, y en el caso de querer guardar tipos que no sean caracteres (TEXT) o números (INTEGER), tendremos que realizar conversiones, como hemos hecho con la clase DbCryptoAlgorithm. Para empezar, veamos sus datos: public enum TipoDeCifrado { Bloque, Flujo public enum TipoDeSimetria { Simetrico, Asimetrico private static final String LOG_TAG = "DbCryptoAlgorithm"; private long id = -1; private String nombre = ""; private TipoDeCifrado tipocifrado; private TipoDeSimetria tiposimetria; private boolean seguro = false; private int longitudminimaclave = -1; Primero nos creamos unos tipos enumerados, luego la etiqueta para el LOG de esta clase, y las variables que representarán las filas. El id, el nombre del algoritmo, tipo de cifrado, tipo de simetría, si es seguro y la longitud mínima de clave recomendada. Para poder acceder a las columnas de las filas, hemos creado unas variables que llamamos llaves para poder acceder a ellas más tarde. Esto nos permitirá no tener problemas para encontrar las columnas en cada fila de la base de datos. Ahora, necesitamos un método para poder guardar el contenido de estas variables en la base de datos, esto lo haremos en el siguiente método: public long save(sqlitedatabase db) { ContentValues cv = new ContentValues(); // para cada variable cv.put( LLAVE_VARIABLE, valorvariable); ContentValues es una clase compuesta por una serie de parejas (llave, valor). Lo que aquí hacemos es guardar todas las variables con su correspondiente llave (ver el método completo en el ejercicio Inicial). Por supuesto, también tenemos que controlar si la variable está representada o no en la base de datos, y eso lo hacemos mirando el id. Si es distinto de Página 2 de 10

3 - 1 (valor por defecto al crear un objeto de la clase), sabemos que ya ha sido creado, y por tanto que debemos actualizarlo. Y si no, lo insertamos. Debemos ver ahora la segunda clase, la DbCryptoAlgorithmSQLiteHelper. A través de esta clase podremos leer y escribir en la base de datos. Lo importante es ver que en esta clase definimos el nombre de la base de datos, el nombre de la tabla, y la versión actual del esquema en el constructor. Lo de las versiones es importante, ya que lo normal es que a medida que vayamos avanzando en el desarrollo de una aplicación ya puesta a disposición de nuestros usuarios, queramos incluir más funcionalidades, y por muy previsores que seamos, alguna columna se nos escapará. Lo recomendado en estos casos suele ser copiar los datos del usuario a una tabla auxiliar, borrar la tabla original, crear una nueva con el esquema actualizado, e inicializarla con los datos obtenidos de la auxiliar 1. El ALTER TABLE está soportado por el estándar SQLite, pero no se recomienda su uso para cambios en el esquema de tablas en Android. Suele ser preferible el método descrito anteriormente. En el constructor de nuestra clase, llamamos a un método de la clase padre donde especificamos el contexto que solicita crear una instancia de la base de datos, la tabla que se quiere, una factoría de cursores (pasamos null) y la versión del esquema (de la base de datos) actual. Veamos los métodos más importantes de la clase SQLiteOpenHelper: public void oncreate(sqlitedatabase db) { public void onupgrade(sqlitedatabase db, int versionantigua, int versionnueva) { public void onopen(sqlitedatabase db) { El primer método es el que se llama para crear la base de datos, es decir, donde está la sentencia SQL CREATE TABLE. Justo después tenemos una llamada a un método auxiliar, que es donde estamos introduciendo los datos nada más crear la tabla. Si lo vemos, nos daremos cuenta de que no hay llamadas a sentencias SQL de tipo INSERT, porque lo hacemos todo a través de DbCryptoAlgorithm. Solamente instanciamos un objeto, le damos sus valores, y utilizamos el método save() pasándole la instancia de la base de datos. Simple y efectivo. 1 Al hacer esto, tenéis que tener en cuenta también que, si a lo mejor tenéis ya 2 versiones de vuestro esquema de BD y tenéis una tercera como actualización, vuestros usuarios pueden venir de cualquiera de las versiones anteriores; no tienen por qué tener todos la última actualización. Página 3 de 10

4 El método onupgrade() es llamado cuando se detecta que la versión del esquema de la base de datos, es inferior a la que requiere nuestro programa (versionantigua < versionnueva), por lo que aquí debemos actualizar la base de datos. Generalmente, se copian los datos a una tabla auxiliar, se borra la tabla, se llama al oncreate() para que genere la nueva tabla, se copian los datos de la tabla auxiliar y luego se borra ésta. Es de suponer que cuantas menos versiones del esquema de base de datos tengamos que soportar en nuestra aplicación, mejor, luego cada vez que hagamos un cambio en la versión del esquema, que sea con vistas al futuro. Por último, el onopen() (que no aparece en nuestro código y que no suele ser necesario) se llama cada vez que solicitemos abrir la base de datos, ya sea para leer o escribir. Hay otros métodos, como el ondowngrade() el onconfigure(), pero os animamos a que investiguéis cuando realicéis una aplicación que utilice SQLite. Teniendo nuestra clase SQLiteOpenHelper completamente definida, nos falta terminar la clase DbCryptoAlgorithm. Qué nos falta? Un par de métodos. public static Cursor getall(sqlitedatabase db) { public static DbCryptoAlgorithm loadfrom(sqlitedatabase db, long id) { public DbCryptoAlgorithm loadfrom(cursor c) { Vayamos por partes. El último método se encarga de, dado un cursor apuntando a la fila que queremos, transferir los datos de las columnas a las variables del objeto. Esto se hace pidiéndole los datos al cursor con las llaves mencionadas anteriormente, y resulta muy sencillo de hacer una vez entendido. Segundo, en el loadfrom() estático, se nos da una instancia de la base de datos y un id, y lo que queremos es devolver un objeto de la clase DbCryptoAlgorithm que recupere la información de la fila con ese id, cosa que haremos utilizando el método anterior. Cómo? Pues necesitamos ejecutar una sentencia SQL buscando por el id; si vemos que en el cursor hay una fila, la devolvemos. Por último, tenemos el método getall(), que es el que ya utilizamos en el ejercicio inicial; en este método, simplemente hacemos un SELECT * para recoger en el cursor todas las filas de la tabla. Ya está? Sí. Hasta aquí preparar la base de datos. Tened en cuenta que los métodos en sí no son complicados, sino que la complejidad se ve aumentada por el hecho de que SQLite no es tan versátil como las demás implementaciones de SQL a las que estamos acostumbrados, forzándonos a guardar objetos Date de Java como Strings (TEXT) y rescatarlos utilizando un parser, por ejemplo. Esto es sólo una parte de lo que se conoce como boilerplate code, y que nos afectará según nos vayamos sumiendo más y más en el mundo Android y del software comercial en general. Página 4 de 10

5 B- 2. Conectando con la lista Para terminar de alcanzar el ejercicio inicial tenemos que ver muy poco. Primero, definimos variables para la lista, la base de datos, y el cursor que contendrá las filas representadas en la lista. En nuestro método initconfig() de nuestro fragment, lo que hacemos es solicitar una base de datos a través de nuestro DbCryptoAlgorithmSQLiteHelper, inicializar nuestro cursor, crear un adaptador utilizando un esquema (list_item.xml) muy sencillo y asignarle a la lista este adaptador. Es importante tener en cuenta la línea startmanagingcursor(c), ya que gracias a ella no tenemos que preocuparnos de cerrar el cursor ni de hacer que la ListView pase por Página 5 de 10

6 todas las filas del mismo. Por último, debemos implementar el método ondestroy(), y cerrar la base de datos aquí. Es importante saber que no se debe cerrar la base de datos tras los cambios, sino cuando se cierre la actividad (ondestroy()) que realiza las llamadas, ya que si no se intentará leer/escribir en una base de datos cerrada y habrá excepciones. C. Pasos a seguir 1. Para este ejercicio, lo que haremos es mejorar la visualización de las filas de la base de datos. Lo primero que tenemos que hacer es realizar cambios en el list_item.xml, porque ahora tendremos un CheckBox y un par de TextViews. Lo que queremos mostrar es el título de los algoritmos criptográficos, la longitud de la clave, el tipo de cifrado y el tipo de simetría. Cómo quedan dispuestos se deja a la elección de los alumnos. Además, se pide que el CheckBox y el fondo de cada fila varíen según si el algoritmo es seguro o no; en el caso del CheckBox, que esté marcado si es seguro, y que el fondo sea distinto para los algoritmos seguros y para los no seguros. 2. Después de hacer cambios en el list_item.xml, necesitaremos crear dos clases en nuestro proyecto: DbCryptoAlgorithmAdapter (que extiende CursorAdapter) en un subpaquete adapters y DbCryptoAlgorithmWrapper en un subpaquete wrappers. Empezaremos por la segunda. En DbCryptoAlgorithmWrapper, tendremos un objeto privado por cada View en el list_item.xml, por ejemplo, el CheckBox y dos TextViews. Además, necesitaremos guardar la fila, y la guardaremos como un tipo View, aunque podemos cambiarlo a LinearLayout, TableLayout, RelativeLayout, etc. según sea el caso. Por último, deberíamos guardar un objeto del tipo DbCryptoAlgorithm para poder leer los datos de cada fila apuntada por el cursor. A esta clase la conoceremos como clase envoltorio o Wrapper, porque se encarga de llevar los datos de la fila apuntada por el cursor a las vistas de cada fila de la ListView. El constructor será así: DbCryptoAlgorithmWrapper (View view) { this.row = view; dbca = new DbCryptoAlgorithm(); 3. Ahora, necesitamos getters para cada vista de la fila (el CheckBox y los TextViews), que implementaremos todos de forma similar: Página 6 de 10

7 public CheckBox getseguro() { if (seguro == null) seguro = (CheckBox) row.findviewbyid(r.id.rowcheckbox); return seguro; 4. El por qué implementaremos todos los getters de esta forma debéis pensarlo con calma; pensad que está hecho para reducir al máximo el número de operaciones costosas. El último método de esta clase es public void populatefrom(cursor c) { En este método es donde realizaremos los cambios según cómo sea el algoritmo apuntado por el cursor. Su contenido se deja completamente como ejercicio. Lo que debemos hacer es inicializar las vistas de nuestro Wrapper en función de la fila apuntada por el cursor, y luego, en función de qué tipo de algoritmo se trate, modificar el fondo de la fila y marcar el CheckBox. No resulta nada complicado; simplemente pensad en cómo nos hemos estado preparando para este método, y en cuáles son los ingredientes que tenemos. 5. Ya hemos terminado la clase Wrapper, ahora tenemos que hacer nuestro adaptador. La idea de éste es que utilizaremos las llamadas que nos provee la API de Android para re- utilizar las Views, es decir, en vez de crear una nueva vista cada vez que Android debe mostrar una fila en pantalla (éste es el comportamiento por defecto haciendo scrolling), re- utilizaremos las vistas que ya se han creado, actualizando su contenido. Android nos lo pone muy fácil, y en realidad la mayor parte del trabajo ya lo hemos hecho en la clase Wrapper. Para que esto funcione, para cada vista que representa una fila debemos asociarle una clase Wrapper, y el hecho de re- utilizar las vistas nos pondría las cosas muy difíciles si tuviéramos que llevar a cabo la organización nosotros, pero la clase ListView ya se encarga de realizar esta tarea de forma automática, siempre y cuando nosotros sepamos cómo decírselo. Para asociar a cada View que represente una fila en pantalla con un Wrapper, utilizamos los métodos settag() y gettag(). Empecemos. Nuestro adaptador extiende la clase CursorAdapter, y lo primero que necesitamos es declarar el constructor, que haremos así: Página 7 de 10

8 public DbCryptoAlgorithmAdapter(Context context, Cursor c) { super(context, c, false); 6. Ahora, necesitamos implementar el método bindview. Este método se llama cuando Android nos entrega una vista ya inicializada (o expandida con su Wrapper) y nos pide que le asociemos los datos correspondientes a la fila del cursor. Es también muy public void bindview(view view, Context context, Cursor cursor) { DbCryptoAlgorithmWrapper wrapper = (DbCryptoAlgorithmWrapper) view.gettag(); wrapper.populatefrom(cursor); 7. Como se puede observar, el método es muy sencillo, ya que todo el trabajo lo hace la clase Wrapper. Lo último del adaptador es el método newview, que se llama cuando hay que crear una vista que represente la fila apuntada por el cursor. Lo que tenemos que hacer es expandir una vista siguiendo el esquema list_item.xml, crear una clase wrapper alrededor de esta vista, asignársela con settag(), y dejar que el wrapper realice el resto del public View newview(context context, Cursor cursor, ViewGroup parent) { LayoutInflater inflater = getlayoutinflater(); View row = ((Activity)context).inflate(R.layout.list_item, parent, false); // creación del wrapper // asignación del wrapper a la vista // cargar contenido del cursor en la vista a través del wrapper Nota: Las líneas comentadas representan líneas de código a completar por los alumnos. La clase LayoutInflater nos permite transformar un esquema XML en una vista, y el último parámetro del método inflate() es importante porque une asigna la View a la View que hace de padre (en este caso, la ListView), y si lo dejamos en true, provocará una excepción. Página 8 de 10

9 8. Por último, nos falta el cambio de adaptador; tenemos que ir al DbListViewFragment y quitar el viejo código que decidía entre las dos distintas formas de instanciar un SimpleCursorAdapter, y simplemente asignar a milistview un adaptador del tipo que hemos creado, el DbCryptoAlgorithmAdapter. Con esto, habremos completado todo el círculo. Página 9 de 10

10 D. Conclusiones y una nota importante Las bases de datos pueden resultar complicadas de manejar, sobre todo al principio, hasta que encontremos nuestro propio ritmo con ellas. En este primer ejercicio hemos intentado que aprendáis muchas cosas a la vez, y lamentablemente tenemos que admitir que falta un elemento muy importante en cuanto al manejo de las bases de datos, y éste es el trato de los cursores, que son quienes realmente llevan los datos de la BD, dado que el adaptador lo que hace es proveerle a la lista de Views que representan cada una de las filas que lleva consigo el cursor. Aquellos alumnos que necesiten continuar con este tema pueden utilizar una simple línea para encargarse de los cursores en el Android Antiguo que viene en la clase Activity, y es startmanagingcursor(), mientras que en Android Moderno (3.0 en adelante) utilizamos una estructura más compleja en la que intervienen varias clases, el Loader Framework, para ocuparse de vigilar bien a los cursores. En este ejercicio tampoco movemos mucho los datos (añadir, eliminar, modificar), con lo cual no nos estorban demasiado, pero cuidarlos resulta fundamental. Una idea para reducir el uso de cursores, sin embargo, es la de hacer un adaptador de nuestros datos de forma directa (un ArrayList de nuestros objetos) y que la clase DbCryptoAlgorithm nos devuelva dicha lista de elementos, cerrando el cursor justo después de obtenerlos; una especie de getall() que no devuelva el cursor, sino que recorra el propio cursor instanciando los objetos correspondientes y añadiéndolos a un ArrayList. Este ejercicio puede resultar un tanto limitado, pero creemos que está en el punto intermedio entre lo que debéis saber y lo que os podemos intentar transmitir en un ejercicio; nuestra idea siempre ha sido la de plantar una semilla para que vosotros seáis capaces de buscar los que os haga falta a la hora de realizar una aplicación, pero nunca olvidéis que estamos a vuestra disposición para cualquier duda que podáis tener por correo. Página 10 de 10

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

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

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

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

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

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

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

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010 INTRODUCCION Los objetos usados en aplicaciones JAVA mantienen su estado y comportamiento mientras la aplicación se halle en ejecución. Generalmente se necesita mantener el estado y comportamiento de los

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE

SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE 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:

Más detalles

Acceso a datos con ADO.NET 2.0 (sin asistentes)

Acceso a datos con ADO.NET 2.0 (sin asistentes) dnm.inicio.fundamentos dnm.incio.taller Guillermo Guille Som Acceso a datos con ADO.NET 2.0 (sin asistentes) Tal como comentamos en el número anterior, en esta ocasión vamos a ver cómo podemos acceder

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

Backup & Recovery Oracle 9i. Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada.

Backup & Recovery Oracle 9i. Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada. Copias de Seguridad Físicas OFFLINE Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada. Como ya se ha comentado anteriormente, una copia en frío

Más detalles

Enlaces relacionados: http://otn.oracle.com/tech/pl_sql/index.html

Enlaces relacionados: http://otn.oracle.com/tech/pl_sql/index.html 1.INTRODUCCION PL/SQL (Procedural Language ó Programming Language, según distintas fuentes, aunque la oficial es la primera) es el lenguaje utilizado por Oracle como extensión al SQL, y que nos va a permitir

Más detalles

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

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

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

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

INSTALACIÓN DE MEDPRO

INSTALACIÓN DE MEDPRO 1 Estimado Cliente: Uno de los objetivos que nos hemos marcado con nuestra nueva plataforma de gestión, es que un cliente pueda instalar MedPro y realizar su puesta en marcha de forma autónoma. Siga paso

Más detalles

SOLUCIÓN CASO CÁLCULO DE GASTOS DE VIAJE

SOLUCIÓN CASO CÁLCULO DE GASTOS DE VIAJE SOLUCIÓN CASO CÁLCULO DE GASTOS DE VIAJE La cumplimentación del parte de dietas requerirá de la introducción de algunos datos como: el nombre del empleado, la fecha de inicio del viaje, la fecha de finalización,

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

Hilos en Java. Crear un Hilo. Detener un hilo. Fuente: http://www.chuidiang.com/java/hilos/hilos_java.php

Hilos en Java. Crear un Hilo. Detener un hilo. Fuente: http://www.chuidiang.com/java/hilos/hilos_java.php Fuente: http://www.chuidiang.com/java/hilos/hilos_java.php Hilos en Java A veces necesitamos que nuestro programa Java realice varias cosas simultáneamente. Otras veces tiene que realizar una tarea muy

Más detalles

Desarrollo de apps para móviles Android. Conceptos básicos de las aplicaciones Android

Desarrollo de apps para móviles Android. Conceptos básicos de las aplicaciones Android Desarrollo de apps para móviles Android Conceptos básicos de las aplicaciones Android Modelo vista controlador (MVC) En Android se utiliza el patrón de arquitectura llamado modelo vista controlador. Este

Más detalles

Gestión Documental ERP

Gestión Documental ERP N. Documento Revisión Nº: 1.0 Fecha: 30/03/11 Introducción 1 Configuración de la Gestión Documental ERP 2 Funcionamiento de la Gestión Documental ERP 6 ÍNDICE Introducción El programa Ahora permite una

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

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

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

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

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

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

CURSO DE PROGRAMACIÓN PHP MySQL

CURSO DE PROGRAMACIÓN PHP MySQL CURSO DE PROGRAMACIÓN PHP MySQL MASTER EN PHP MÓDULO NIVEL BASICO PRIMER MES Aprende a crear Sitios Web Dinámicos con PHP y MySQL 1. Introducción Qué es PHP? Historia Por qué PHP? Temas de instalación

Más detalles

TALLER COMPUTACIÓN II

TALLER COMPUTACIÓN II Prof. Martín Ferreyra TALLER COMPUTACIÓN II MANEJO AVANZADO DE MS WORD COMBINAR CORRESPONDENCIA Combinar Correspondencia Instituto Secundario John Kennedy Unidad 2. Combinar correspondencia (I) Mediante

Más detalles

Combinar correspondencia (I)

Combinar correspondencia (I) Combinar correspondencia (I) Mediante la opción Combinar correspondencia Word2007 nos permite incluir en un documento, datos almacenados en otro sitio. De esta forma podremos obtener copias de un mismo

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

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que

Más detalles

BASES DE DATOS I. Manual de Informix. Informix Personal Edition 7.22 1

BASES DE DATOS I. Manual de Informix. Informix Personal Edition 7.22 1 Informix Personal Edition 7.22 1 El objetivo de este documento consiste en ofrecer una visión general de las herramientas y funcionalidades que incorpora el software Informix Personal 7.22, una vez hayáis

Más detalles

Anexo A Diagramas de Navegación

Anexo A Diagramas de Navegación Anexo A Diagramas de Navegación Figura D.1: Diagrama de navegación de la pantalla principal. 43 Figura D.2: Diagrama de navegación del apartado Crear Encuesta. 44 Figura D.3: Diagrama de navegación del

Más detalles

CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID

CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID 1. Entorno de desarrollo y primera aplicación 1. El mundo Android 1.1 Android y las versiones 1.2 Personalizaciones del sistema operativo. 1.3 Dispositivos Android

Más detalles

Ejemplo práctico de instalación del programa JCLIC en red

Ejemplo práctico de instalación del programa JCLIC en red Ejemplo práctico de instalación del programa JCLIC en red Una red local permite optimizar los recursos, tanto en relación al espacio (los programas se pueden colocar en el disco duro del servidor y ser

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

Tema 3. Test Driven Development

Tema 3. Test Driven Development Tema 3. Test Driven Development Ejercicios Resueltos Ejercicio 01. Desarrolle mediante TDD una implementación del algoritmo de la Criba de Eratóstenes para calcular la lista de los números primos desde

Más detalles

Teléfono: +34-96-398-5300 Telefax: +34-96-196-1781 Email: csirtcv@gva.es https://www.facebook.com/csirtcv https://twitter.

Teléfono: +34-96-398-5300 Telefax: +34-96-196-1781 Email: csirtcv@gva.es https://www.facebook.com/csirtcv https://twitter. Uso de gestores de contraseñas Sobre CSIRT-cv CSIRT-cv es el Centro de Seguridad TIC de la Comunitat Valenciana. Nace en junio del año 2007, como una apuesta de la Generalitat Valenciana por la seguridad

Más detalles

Práctica 4: Herencia. Objetivos:

Práctica 4: Herencia. Objetivos: Práctica 4: Herencia Objetivos: Como se implementa la herencia en Java (superclase - clase descendiente). Utilizar super. Redefinición de métodos Clase Object Clase System Clases abstractas 1. Herencia.

Más detalles

TRUE CRYPT ::: Encriptación de datos :::

TRUE CRYPT ::: Encriptación de datos ::: TRUE CRYPT ::: Encriptación de datos ::: TrueCrypt está desarrollado bajo software libre y además es multiplataforma. Es muy importante estas dos premisas ya que no importará si trabajamos bajo Linux o

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

IVista: es la interfaz con la que el Presentador se comunica con la vista.

IVista: es la interfaz con la que el Presentador se comunica con la vista. Capítulo 3 MODELO DE DISEÑO 3.1 Arquitectura Modelo-Vista-Presentador La arquitectura Modelo-Vista-Presentador (MVP) [11] separa el modelo, la presentación y las acciones basadas en la interacción con

Más detalles

" ##$ % & '( % & )*+),$ -##$ -!- $! "-./ - 0WebClass1-2

 ##$ % & '( % & )*+),$ -##$ -!- $! -./ - 0WebClass1-2 ! " ##$ % & '( % & )*+),$ -##$ -!- $! "-./ - 0WebClass1-2!" # 345 637 6$5!!!89 & 5 :8-7 & & ;(< 8 $ + - 8 : #= ' 7= : 0 & 0 &- =.> = ;(("9 &? WebClass - 1@#$% &'A1 ;(< 8- ( ) * *+ " $ % B9 5 5 # :!- WebClass

Más detalles

RECIBIR Y ENVIAR MENSAJES CON OUTLOOK EXPRESS

RECIBIR Y ENVIAR MENSAJES CON OUTLOOK EXPRESS RECIBIR Y ENVIAR MENSAJES CON OUTLOOK EXPRESS Outlook Express se puede ejecutar de varias formas. Las más inmediatas son hacer doble clic en el icono de Outlook Express situado en el escritorio, hacer

Más detalles

fundamentos Cifrar y descifrar datos

fundamentos Cifrar y descifrar datos Guillermo «Guille» Som fundamentos Criptografía práctica El encriptador que lo encripte... debe guardar las claves El desencriptador que lo desencripte... debe conocer las claves La criptografía nos permite

Más detalles

Índice de contenidos:

Índice de contenidos: Tutorial de wik.is Wik.is es el servicio en línea de Deki Wiki de Mindtouch: http://wiki.opengarden.org/deki_wiki Índice de contenidos: Registro para tener nuestro wiki... 2 Primeros cambios que debemos

Más detalles

TÉCNICAS DE GESTIÓN ADMINISTRATIVA PARA PEQUEÑAS EMPRESAS

TÉCNICAS DE GESTIÓN ADMINISTRATIVA PARA PEQUEÑAS EMPRESAS COMBINAR CORRESPONDENCIA CON OFFICE 2003 Combinar correspondencia nos permite incluir en un documento datos almacenados en otro lugar. De esta forma podremos obtener copias de un mismo documento pero con

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

Aprendizaje activo: flujos

Aprendizaje activo: flujos Clase 29 Aprendizaje activo: flujos La aplicación Logger 2 1 Objetivos En el marco de trabajo de la aplicación Logger, analizaremos tres formas de leer y escribir datos utilizando flujos de Java: 1. como

Más detalles

Combinar correspondencia

Combinar correspondencia Combinar correspondencia Mediante la opción Combinar correspondencia Word2010 nos permite incluir en un documento, datos almacenados en otro sitio. De esta forma podremos obtener copias de un mismo documento

Más detalles

PHP Perfect SQL v1.0 (SQL perfectas en PHP)

PHP Perfect SQL v1.0 (SQL perfectas en PHP) PHP Perfect SQL v1.0 (SQL perfectas en PHP) Muchas veces cuando programamos para web es muy fácil cometer errores en la construcción sintáctica de consultas SQL, por ejemplo cuando tenemos que realizar

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

- Descarga en un PC la utilidad de la BD, http://sqliteadmin.orbmu2k.de/ - En el programa IOrestaurant :

- Descarga en un PC la utilidad de la BD, http://sqliteadmin.orbmu2k.de/ - En el programa IOrestaurant : TUTORIAL INTRODUCCIÓN PRODUCTOS EN IORESTAURANT 1.- COMO TRAER LA BASE DE DATOS A UN PC DESDE LA TABLET 2.- COMO TRABAJAR CON LA BASE DE DATOS EN EL PC 3.- IMPORTAR LA BASE DE DATOS EN LA TABLET. 1.- COMO

Más detalles

Refactorizar (v) Reestructurar el software aplicando una secuencia de refactorizaciones.

Refactorizar (v) Reestructurar el software aplicando una secuencia de refactorizaciones. Refactorización Definición Refactorización (n) Cambio realizado a la estructura interna del software para hacerlo más fácil de comprender y más fácil de modificar sin cambiar su comportamiento observable.

Más detalles

Tema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos

Tema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos Tema 3: Genericidad en Java Tema 3: Genericidad en Java Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general: 1. Definición y Ventajas de la

Más detalles

Software de Presentaciones

Software de Presentaciones Software de Presentaciones El contenido de esta práctica consistirá en el diseño de una presentación que será utilizada para conocer un nuevo producto comercializado por una empresa (de la que tu tendrás

Más detalles

Instrucciones de instalación de TrueCode

Instrucciones de instalación de TrueCode Gracias por su compra y las instrucciones que le guiara a través del proceso de instalación y puesta en marcha de su nuevo software. Se recomienda la lectura y las discusiones de los usuarios por favor

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Variables y Tipos de Datos PRÁCTICA NÚM. [ 1 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

DIAGRAMAS DE FLUJO: DFD

DIAGRAMAS DE FLUJO: DFD DIAGRAMAS DE FLUJO: DFD DFD es un programa de libre disposición para ayuda al diseño e implementación de algoritmos expresados en diagramas de flujo (DF). Además incorpora opciones para el depurado de

Más detalles

Paso 1 de 18. Paso 2 de 18. Guía de aprendizaje de Flash CS5 Tutorial 12 - Vídeo y TLF

Paso 1 de 18. Paso 2 de 18. Guía de aprendizaje de Flash CS5 Tutorial 12 - Vídeo y TLF Guía de aprendizaje de Flash CS5 Tutorial 12 - Vídeo y TLF Paso 1 de 18 En este tutorial vamos a experimentar con las nuevas posibilidades que ofrece el trabajo con vídeo en Flash y el nuevo motor de texto

Más detalles

Lenguaje de manipulación de datos

Lenguaje de manipulación de datos Lenguaje de manipulación de datos Insertar datos. Hasta ahora hemos visto como se almacenan los datos en una base de datos y como consultar esos datos almacenados, pero no hemos visto como almacenar dichos

Más detalles

Creación de materiales didácticos Aplicaciones para dispositivos móviles Lección 4

Creación de materiales didácticos Aplicaciones para dispositivos móviles Lección 4 Creación de materiales didácticos Aplicaciones para dispositivos móviles Lección 4 Bases de datos Índice de contenido Introducción...3 Bases de datos locales: TinyDB... 4 Compartir datos: TinyWebDB...

Más detalles

Ejemplo de como hacer una Web inmobiliaria realizada en WordPress integrada con MultiLinkCRM

Ejemplo de como hacer una Web inmobiliaria realizada en WordPress integrada con MultiLinkCRM Ejemplo de como hacer una Web inmobiliaria realizada en WordPress integrada con MultiLinkCRM En este ejemplo veremos como hacer una Web para su inmobiliaria de una forma rápida y muy económica basada en

Más detalles

Sintaxis: CURSOR nombre_cursor[(param1 [IN] tipo1,... )] IS consulta ;

Sintaxis: CURSOR nombre_cursor[(param1 [IN] tipo1,... )] IS consulta ; 7. CONCEPTOS AVANZADOS DE CURSORES EXPLICITOS En este capítulo veremos algunas cosas bastante útiles respecto a los cursores explícitos, como pueden ser los cursores con parámetros (que nos permitirán

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

Tema 8. Creación y diseño de un sitio web

Tema 8. Creación y diseño de un sitio web 1. Interfaz de Dreamweaver MX El entorno de trabajo de Dreamweaver está compuesto por una serie de ventanas, paneles y otros elementos configurables por el usuario. En la Figura 1 podemos ver una posible

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

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

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

Descarga e Instalación

Descarga e Instalación Descarga e Instalación Para la descarga de CCleaner seguiremos el enlace: http://www.piriform.com/ccleaner/builds Una vez descargado haremos doble clic con el ratón sobre el icono de CCleaner: Ahora aparecerá

Más detalles

COMERZZIA. Manual de Usuario TPV MP SISTEMAS

COMERZZIA. Manual de Usuario TPV MP SISTEMAS COMERZZIA Manual de Usuario TPV MP SISTEMAS ÍNDICE DE CONTENIDOS 1 INTRODUCCIÓN... 5 1.1 Acerca de este Manual... 5 1.2 Qué hay de nuevo en el manual de usuario 2.0... 5 1.3 Documentación relacionada...

Más detalles

Almacenamiento en Android

Almacenamiento en Android Almacenamiento en Android LSUB, GYSC, URJC Todo lo que hay que saber http://developer.android.com/guide/topics/ data/data-storage.html Dentro de una Aplicación Ya hemos visto, que se puede pasar con el

Más detalles

Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com. www.areaint.com CURSO DE. Visual Basic 6.0 WWW.AREAINT.

Curso de Visual Basic 6.0 - Lección 1 Area Interactiva - www.areaint.com. www.areaint.com CURSO DE. Visual Basic 6.0 WWW.AREAINT. www.areaint.com CURSO DE Visual Basic 6.0 Pág. 1 LECCIÓN 1 En esta lección de introducción aprenderemos las principales características de un lenguaje de programación para crear aplicaciones bajo Windows.

Más detalles

13.3. Personalización avanzada

13.3. Personalización avanzada 13.3. Personalización avanzada Cómo crear informes mediante Report Builder Un informe es un documento que nos va a mostrar una información. En un informe disponemos de varias secciones. El encabezado de

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

INTRODUCCIÓN. paco@portadaalta.es

INTRODUCCIÓN. paco@portadaalta.es INTRODUCCIÓN paco@portadaalta.es Índice Entorno de desarrollo Estructura de un proyecto Android Componentes de una aplicación Android Ejemplos: Mi primera aplicación Divisas 2 actividades Contador de cafés

Más detalles

Creando una webquests

Creando una webquests Creando una webquests 1. LO PRIMERO EL PROGRAMA Para crear paginas web necesitamos el software apropiado. Hay muchas formas y programas para hacerlo, pero por su facilidad de uso y por ser software libre

Más detalles

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA SECCIÓN: 15N1- IS REALIZADO POR: BR. BRETE JINETH. BR. SULBARÁN ARMANDO BR. TORREZ

Más detalles

Automatización Industrial

Automatización Industrial ESCUELA SUPERIOR DE INFORMÁTICA UNIVERSIDAD DE CASILLA-LA MANCHA Automatización Industrial Programación de la Interfaz FTI con C# Tercera práctica Jose Domingo López López josed.lopez1@alu.uclm.es Raúl

Más detalles

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos

Más detalles

Auditoría de un PC con el pograma Aida32(ahora se llama EVEREST)

Auditoría de un PC con el pograma Aida32(ahora se llama EVEREST) Auditoría de un PC con el pograma Aida32(ahora se llama EVEREST) Cuando hablamos de auditoría lo primero que nos viene a la cabeza es una pregunta: por qué necesito auditar un ordenador? Son varios los

Más detalles

Blogger: herramienta de creación y gestión de blogs

Blogger: herramienta de creación y gestión de blogs Blogger: herramienta de creación y gestión de blogs Objetivo de aprendizaje Las personas participantes serán capaces de crear y gestionar un blog con Blogger. Existen numerosos servicios gratuitos para

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

U.E JUAN DE VELASCO CREAR DATOS EN SQL

U.E JUAN DE VELASCO CREAR DATOS EN SQL NOMBRE:LILIAN CAUJA U.E JUAN DE VELASCO CREAR DATOS EN SQL Lo primero que necesitamos para conectarnos al Servidor es el administrador que por defecto en algunas instalaciones no viene incluido, se puede

Más detalles

Conectar Flash con Access usando MDM Zinc

Conectar Flash con Access usando MDM Zinc Conectar Flash con Access usando MDM Zinc Con este tutorial pretendo enseñar la conexión básica entre Flash / Actionscript y Microsoft Access mediante MDM Zinc, para poder empezar a crear aplicaciones

Más detalles

Optimizar base de datos WordPress

Optimizar base de datos WordPress Optimizar base de datos WordPress Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com WordPress se ha convertido en uno de los CMS más utilizados en todo el mundo. Su robustez,

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

Resumen de clase Ejemplos creacionales. Ideas de Diseño sobre ejercicios anteriores

Resumen de clase Ejemplos creacionales. Ideas de Diseño sobre ejercicios anteriores Resumen de clase Ejemplos creacionales Ideas de Diseño sobre ejercicios anteriores 1 cuatrimestre 2009 Contenido EJEMPLO CLIENTES DE UNA TARJETA DE CRÉDITO: ENUNCIADO...3 SOBRE EL DOMINIO...3 SOLUCIÓN

Más detalles

Copias de seguridad con SQL Server 2005 WhitePaper Febrero de 2008

Copias de seguridad con SQL Server 2005 WhitePaper Febrero de 2008 Copias de seguridad con SQL Server 2005 WhitePaper Febrero de 2008 Contenidos 1. Propósito 3 2. Realizar una copia de seguridad con SQL Server 2005 4 3. Restaurar una copia de seguridad con SQL Server

Más detalles

Manual de usuario Versión: 1.3 Edición: 05/02/2015 1

Manual de usuario Versión: 1.3 Edición: 05/02/2015 1 Manual de usuario Versión: 1.3 Edición: 05/02/2015 1 Índice Formula Integration Manual de Usuario... 3 1. Introducción... 3 1.1. Funcionalidades... 3 2. Instalación... 3 2.1. Requisitos mínimos... 3 2.2.

Más detalles

DICCIONARIO DE DATOS

DICCIONARIO DE DATOS DICCIONARIO DE DATOS Diccionario de datos El diccionario de datos es la fuente de información centralizada de todo el sistema SAP, allí se encuentra (y almacena) todos los datos que se procesan en el sistema;

Más detalles

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2 Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3

Más detalles

Android Programming. Código: S15 Duración: 25 horas OBJETIVOS

Android Programming. Código: S15 Duración: 25 horas OBJETIVOS Código: S15 Duración: 25 horas Este curso intensivo prepara a programadores para desarrollar aplicaciones para la plataforma Android. Los alumnos aprenderán a configurar un entorno de desarrollo para Android,

Más detalles

Al ejecutar el Setup SiguienteSiguiente hasta las siguientes anotaciones: Qué quiere Hacer? Servidor o WebServer (seleccionamos Servidor)

Al ejecutar el Setup SiguienteSiguiente hasta las siguientes anotaciones: Qué quiere Hacer? Servidor o WebServer (seleccionamos Servidor) INDICE: INDICE:... 1 Notas Curso Vijeo Citect 6.10... 1 Instalación... 1 Conceptos básicos... 1 Inicio del Citect... 2 Configurar los dispositivos de E/S... 2 Tags de Variable... 3 Paginas... 5 Botón...

Más detalles

CASO PRÁCTICO GESTIÓN DE PEDIDOS

CASO PRÁCTICO GESTIÓN DE PEDIDOS CASO PRÁCTICO GESTIÓN DE PEDIDOS Tenemos una tabla con los precios unitarios de los productos de nuestra empresa por categorías de clientes. Los clientes están clasificados en categorías de 1 a 4- en función

Más detalles

Diseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11

Diseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11 Laboratorio 06. Objetivos: Representación interna de un BD. Tablas, índices e índices full-text. Sesiones: 1 (24 de noviembre de 2010) Ejercicio: 1. Representación interna: 1.1. Copiar al repositorio de

Más detalles