Curso PUDE. Desarrollo de Aplicaciones Móviles en Android
|
|
- Antonia Carrasco Miguélez
- hace 8 años
- Vistas:
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
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 detallesEn 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 detallesObjetivos 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 detallesAdaptació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 detallesMANUAL DE AYUDA MODULO TALLAS Y COLORES
MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3
Más detallesAGREGAR 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 detallesCombinar 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 detallesEjercicios - 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 detallesMANUAL 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 detallesManual 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 detallesCurso 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 detallesBackup & 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 detallesTÉ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 detallesPrograma 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 detallesLAS CONSULTAS ACCESS 2007. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
LAS CONSULTAS ACCESS 2007 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS CONSULTAS En esta unidad veremos cómo crear consultas y manejarlas para la edición de registros de tablas
Más detallesMANUAL DE USO CS-BODAS (VERSIÓN 11/2013)
MANUAL DE USO CS-BODAS (VERSIÓN 11/2013) FILOSOFÍA DE LA APLICACIÓN A la hora de enfrentarnos a la organización de nuestra propia boda, normalmente no tenemos la experiencia para dicho cometido. Comenzamos
Más detalleswww.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 detallesMANUAL 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 detallesGESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS
GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS 1.- PLANTILLA DE PUBLICACIONES En este maestro crearemos la publicación base sobre la cual el programa generará
Más detallesCASO 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 detallesManual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático
Programa de Almacenamiento y Recuperación de Datos Automático CONSEJERÍA DE EDUCACIÓN Dirección General de Participación e Innovación Educativa Centro de Gestión Avanzado de Centros TIC Fecha: 20/04/10
Más detallesMANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS
MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS En este manual aprenderemos a introducir un Ticket de Soporte (Incidencia Informática) y ver todo el proceso hasta que se resuelve. Para poder escribir Tickets
Más detallesPruebas 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 detallesNORMA 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 detalles1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?
Google Docs 1 Itinerario 1.1 Qué vamos a hacer? En este tutorial aprendemos a manejar la herramienta Google Docs, de esta forma nos introduciremos en el llamado cloud computing, que podemos traducir como,
Más detallesINDICE. 1. Introducción... 4. 2. El panel Entities view... 5. 3. El panel grafico... 6. 4. Barra de botones... 6. 4.1. Botones de Behavior...
MANUAL DE USUARIO INDICE 1. Introducción... 4 2. El panel Entities view... 5 3. El panel grafico... 6 4. Barra de botones... 6 4.1. Botones de Behavior... 7 4.2. Botones de In-agents... 8 4.3. Botones
Más detallesSitios remotos. Configurar un Sitio Remoto
Sitios remotos Definir un sitio remoto significa establecer una configuración de modo que Dreamweaver sea capaz de comunicarse directamente con un servidor en Internet (por eso se llama remoto) y así poder
Más detallesCONSULTAS 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 detallesModulo 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 detallesCómo acceder a Google Drive? Tiene más funcionalidades una cuenta de Google?
Manual de Qué es Google Drive? Qué es Google Drive? Google Drive es un servicio web que le permite almacenar, modificar, compartir y acceder a sus archivos y documentos independientemente de dónde se encuentre
Más detallesSeminario de Informática
Unidad II: Operaciones Básicas de Sistemas Operativos sobre base Windows 11. Herramientas del Sistema INTRODUCCION Este apunte está basado en Windows XP por ser el que estamos utilizando en el gabinete
Más detallesCOMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER
2011 2012 COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER WWW.FAUBELL.COM vicente@faubell.com Hasta ahora hemos visto una pequeña introducción a la creación de las páginas web. No te preocupes por
Más detallesGuía de uso del Cloud Datacenter de acens
guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar
Más detallesOptimizar 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 detallesEn términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.
1 de 18 Inicio Qué es un foro En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. En el campus virtual, el foro es una herramienta
Más detallesMANAUAL DE MANTENIMIENTO PARA LA PÁGINA WEB DE PROYECTO ADL GESTOR DE CONTENIDOS
MANAUAL DE MANTENIMIENTO PARA LA PÁGINA WEB DE PROYECTO ADL GESTOR DE CONTENIDOS 1/8 GESTOR DE CONTENIDOS Este manual va dirigido a la persona o personas que sean las encargadas de mantener los contenidos
Más detallesGobierno del Estado de México
Gobierno del Estado de México Escuela Preparatoria Oficial No. 82 José Revueltas Hay que alcanzar la exaltación verdadera, para lograrlo, hay que ser serenos, sin prisas, estudiar, trabajar y disciplinarse
Más detalles... Formas alternativas de escribir un texto. Columnas. anfora CAPÍTULO 4
CAPÍTULO 4. Formas alternativas de escribir un texto........ Columnas Para fijar columnas se posiciona el Punto de Inserción donde se desee que comiencen las columnas, o bien se selecciona el texto que
Más detallesAnexo 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 detallesMANUAL DE CS-ALMACENES (MAYO 2012)
MANUAL DE CS-ALMACENES (MAYO 2012) FILOSOFÍA DE LA APLICACIÓN CS-ALMACENES Esta aplicación informática busca gestionar de una manera muy sencilla las existencias de uno o varios almacenes. Se basa en la
Más detallesManual de uso. Manual de uso - citanet 1
Manual de uso Manual de uso - citanet 1 1. Requisitos previos a la instalación... 3 2. Primer inicio de la aplicación.... 3 2.1. Pantalla de inicio de sesión.... 3 2.2. Datos de la empresa y configuración
Más detallesInstrucciones 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 detallesGESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)
APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I
Más detallesEsta 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 detallesInstalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta
Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para
Más detallesvbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc COMBINACIÓN DE CARTAS Y CORRSPONDENCIA vbnmqwertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwertyuiop
Más detallesZon@de. Servidor FTP LEECH FTP INDICE PRESENTACIÓN ACERCA DE CTRLWEB MAILING WORD AYUDA : Acceso a Panel de Control. 1.-Panel de control privado.
INDICE PRESENTACIÓN ACERCA DE CTRLWEB MAILING WORD AYUDA : Acceso a Panel de Control. 1.-Panel de control privado. 1.1.-MAILING. Herramienta de Mailing.. Gestor de Textos. E-mails. MANUAL DE AYUDA ADMINISTRACIÓN
Más detallesMANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn
MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn Tegucigalpa M. D. C., Junio de 2009 Que es un CMS Un sistema de administración de contenido (CMS por sus siglas en ingles) es un programa para organizar
Más detallesGuía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana.
Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana. Esta guía muestra como proceder en la configuración y posterior uso de la aplicación Allegro en
Más detallesWeb Publishing con LabVIEW (I)
1 Web Publishing con LabVIEW (I) Una de las herramientas más útiles de LabVIEW es el Web Publishing. Gracias a esta utilidad podemos subir nuestras creaciones a Internet, para mostrar por ejemplo resultados
Más detallesGestió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 detallesPHP 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 detalles5.4. Manual de usuario
5.4. Manual de usuario En esta sección se procederá a explicar cada una de las posibles acciones que puede realizar un usuario, de forma que pueda utilizar todas las funcionalidades del simulador, sin
Más detallesManual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2
Manual de software Dynamic Cloud 10/2014 MS-Dynamic_Cloud v1.2 ÍNDICE GENERAL 1. INTRODUCCIÓN... 2 1.1 Configuración mínima del PC... 2 2. INSTALAR DYNAMIC CLOUD... 3 2.1 Ejecutar Dynamic Cloud por primera
Más detallesActivación de un Escritorio Remoto
Activación de un Escritorio Remoto La activación de un Escritorio Remoto se realiza en dos fases, en la primera se habilita a un Usuario de un ordenador para que pueda admitir una conexión remota, la segunda
Más detallesMANUAL DE INSTALACIÓN
MANUAL DE INSTALACIÓN MANUAL DE INSTALACIÓN DE GOTELGEST.NET En este breve manual sobre la instalación de la aplicación de Gotelgest.net se explicará todo el proceso que hay que llevar a cabo para que
Más detallesCONCEPTOS BASICOS. Febrero 2003 Página - 1/10
CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,
Más detallesTransacciones y bloqueos en SQL-Server
Transacciones y bloqueos en SQL-Server (Información para el uso desde Axapta) Introducción En este documento vamos a intentar explicar cuatro conceptos básicos acerca de las transacciones y los bloqueos
Más detallesLA INTRANET -Manual general-
LA INTRANET -Manual general- 0/ Localizar la intranet en los tablet del alumno. Como la Intranet está instalada en algunos ordenadores, debemos localizarla primeramente para poder trabajar con ella. 1º/
Más detallesSoftware Criptográfico FNMT-RCM
Software Criptográfico FNMT-RCM ÍNDICE 1. DESCARGA E INSTALACIÓN DEL SOFTWARE 2. EXPORTACIÓN DE CERTIFICADOS EN MICROSOFT INTERNET EXPLORER 3. IMPORTACIÓN DEL CERTIFICADO A LA TARJETA CRIPTOGRÁFICA -2-
Más detallesGENERACIÓN DE ANTICIPOS DE CRÉDITO
GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos
Más detallesU.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 detallesIntroducción a la extensión de scripting en gvsig 2.0
Introducción a la extensión de scripting en gvsig 2.0 2012 gvsig Association Este documento se distribuye con la licencia Creative Commons 1 2 Índice de contenido 1 Introducción... 3 Instalación de la
Más detallesTema 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 detallesMINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007
MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007 Servicio de Informática y Comunicaciones Para poder diseñar un formulario y que éste nos envíe los resultados a nuestro correo electrónico, necesitamos
Más detallesGESTIÓ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 detallesCómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia
Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com La puesta en marcha de WordPress es muy sencilla,
Más detallesPRÁCTICAS DE GESTIÓN GANADERA:
PRÁCTICAS DE GESTIÓN GANADERA: MANEJO DE HOJA DE CÁCULO (EXCEL) 1. INTRODUCCIÓN AL MANEJO DE EXCEL La pantalla del programa consta de una barra de herramientas principal y de una amplia cuadrícula compuesta
Más detallesICARO MANUAL DE LA EMPRESA
ICARO MANUAL DE LA EMPRESA 1. ENTRANDO EN ICARO Para acceder al Programa ICARO tendremos que entrar en http://icaro.ual.es Figura 1 A continuación os aparecerá la página de Inicio del aplicativo ICARO.
Más detallesMÓDULO 3 HERRAMIENTAS EN LA NUBE: ANFIX
MÓDULO 3: TEMA 1 INTRODUCCIÓN Hemos elegido esta herramienta, por su sencillez de acceso a través de la web, es bastante fácil e intuitiva, tan sólo tienes que registrarte, confirmar tu cuenta y ya puedes
Más detallesBASES 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 detallesGuía N 1: Fundamentos básicos(i)
1 Guía N 1: Fundamentos básicos(i) Objetivos Generales: Ver una breve descripción de las capacidades más comunes de Excel Objetivos específicos: Descripción de los elementos de un libro: Hojas, iconos,
Más detallesDepartamento CERES Área de Tarjetas Inteligentes Manual de Usuario
14 CORREO SEGURO. Hay aplicaciones de correo que permiten enviar y recibir correos cifrados y firmados digitalmente utilizando criptografía. Estas operaciones garantizan el intercambio seguro de información,
Más detallesCurso PUDE. Desarrollo de Aplicaciones Móviles en Android. A. Descripción. B. Implementación. B.1. Desarrollo de la primera interfaz
Curso PUDE Con este ejercicio, ofrecemos algunas ideas de cómo solucionar el problema de presentar nuestras aplicaciones en los diferentes dispositivos existentes y con su sistema operativo Android correspondiente.
Más detallesPS.Vending Almacén Pocket PC
Versión 1.0 Enero 2013 Autor: Pedro Naranjo Rodríguez www.psvending.es Contenido Qué es PS.Vending Almacén Pocket PC?... 3 Funciona PS.Vending Almacén Pocket PC independiente de PS.Vending?... 3 Requisitos...
Más detallesUAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid
MANUAL DE EMPRESA Modo de entrar en ÍCARO Para comenzar a subir una oferta de empleo, el acceso es a través del siguiente enlace: http://icaro.uam.es A continuación, aparecerá la página de inicio de la
Más detallesCurso Internet Básico - Aularagon
Antes de empezar es necesario que tengas claro algunas cosas: para configurar esta cuenta de correo, debes saber que el POP y el SMTP en este caso son mail.aragon.es; esta cuenta de correo hay que solicitarla
Más detallesTUTORIAL 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 detallesCÓMO CREAR NUESTRO CATÁLOGO
CÓMO CREAR NUESTRO CATÁLOGO Mediante la aplicación (http://www.prensasoft.com/programas/conline) podemos crear nuestros propios catálogos. Para crear un catálogo necesitamos: - Varios productos que mostrar,
Más detallesCONFIGURACION AVANZADA DE MOZILLA THUNDERBIRD
CONFIGURACION AVANZADA DE MOZILLA THUNDERBIRD Carpetas sin Conexión... 2 Gestión de mensajes enviados... 3 Gestión de mensajes eliminados... 6 Firma Digital... 8 Envío de mensajes firmados digitalmente...
Más detallesSincronización del Servidor.
Sincronización del Servidor. Versión 1.0 03/05/05 Fecha Jose Autor Manuel Viejo Lobato http://ars.viejolobato.com Página 1 de 5 Índice. 1. Introducción... 3 2. Búsqueda de elementos de workflow por nombre....
Más detallesINSTALACIÓ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 detallesCó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 detallesCodex.pro. Módulo de gestión económica.
Codex.pro. Módulo de gestión económica. Índice Codex.pro. Módulo de gestión económica...1 Introducción...2 Uso de la aplicación...3 1. Configuración inicial de la aplicación...4 1.1. Centros de coste...4
Más detallesLAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en
Más detallesCrear 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 detallesLa ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Más detallesGVisualPDA 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 detallesCOMANDOS 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 detallesCreando 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 detallesINFORMATIZACION DE EMPRESAS, S. A. ACTUALIZACION DE MARZO 2008
ACTUALIZACION DE MARZO 2008 1.- REUBICACION DE FICHEROS. El sistema actual de instalación de los programas de IESA, estaba utilizando un directorio por producto, haciendo lo mismo para los enlaces y accesos
Más detallesUso 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 detallesGUIA DE USUARIO. CONFIGURACION CORREO ELECTRONICO
versiongalega.com - Departamento de Atención al cliente GUIA DE USUARIO. CONFIGURACION CORREO ELECTRONICO En este documento encontrará una descripción de cómo configurar sus cuentas de correo electrónico
Más detallesPlataforma e-ducativa Aragonesa. Manual de Administración. Bitácora
Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar
Más detallesGENERACIÓN DE TRANSFERENCIAS
GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base
Más detallesIptables, herramienta para controlar el tráfico de un servidor
Iptables, herramienta para controlar el tráfico de un servidor La seguridad es punto muy importante a tener en cuenta en cualquier organización de ahí que sea fundamental hacer uso de aquellos mecanismos
Más detallesUso de Visual C++ Pre-Practica No. 3
Pre-Practica No. 3 Uso de Visual C++ Microsoft Visual C++ 2010 es una versión de Visual Studio específica para el lenguaje de programación C++. Es un entorno de desarrollo muy completo y profesional. Por
Más detallesUnidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)
Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.
Más detalles