Entradas

Mostrando entradas de diciembre, 2017

35. PhoneGap: introducción

Imagen
PhoneGap Es un "framework" para la creación de aplicaciones móvil, actualmente desarrollado por Adobe. Permite la creación de aplicaciones móviles multiplataforma a través de HTML, CSS y JavaScript. A parte, dependiendo de la plataforma para la que queramos crear la aplicación, tendremos que suministrarle una API u otra. Por ejemplo, si queremos que la aplicación funcione en dispositivos Android, será necesario tener instalados las SDKs correspondientes en el sistema operativo desde donde vamos a construir la aplicación móvil. Apache Cordova El "framework" PhoneGap es en realidad una distribución de otro software llamado Apache Cordova, es decir PhoneGap está basado en Apache Cordova. Es decir, PhoneGap toma como base Cordova, de hecho cuando ejecutamos comandos de PhoneGap, estamos realidad usando comandos de Cordova . En cualquier caso ambos "software" son de código abierto y gratuitos. La diferencia está en que PhoneGap provee de un serv...

36. Servidor PHP y MySQL

Imagen
PHP PHP es un lenguaje de servidor. Cuando se realiza una petición a un servidor web para visitar un página web, el servidor devuelve un código HTML, es decir, devuelve un archivo HTML. Existen otro tipo de archivos que un servidor web puede contener, por ejemplo los archivos de tipo PHP. Cuando un archivo contiene código PHP, le pondremos como extensión ".php". Un archivo PHP puede contener también código HTML en su interior . El siguiente archivo es un archivo .php. Envío de datos desde un formulario HTML, a un archivo PHP de un servidor web La forma más primitiva de enviar datos a un servido web es a través de un formulario . Por ejemplo, el formulario para enviar los datos del formulario "Nuevo lugar", sería el siguiente: <form action=" localhost/lugares/guardar_lugar.php ">   <label>Nombre: </label><input name="nombre" >   <label>Descripción: </label><input name="descripcion...

34. Java: final, static, constantes, colecciones

Imagen
El modificador "final" La palabra clave " final " se puede aplicar en: variables métodos clases 1. Variables : cuando se aplica " final " en variables , quiere decir que la variable sólo podrá ser inicializada una vez, es decir una vez asignado un valor, este no podrá ser cambiado, y si en algún sitio se intenta cambiarlo el compilador dará error . Ejemplo: En el cuerpo del enumerado anterior, se declaran dos atributos de tipo " final ". Es aconsejable añadir "final" a un atributo cuando sabemos que su valor no debería de ser modificado una vez inicializado , tal y como ocurre en este enumerado. Es decir, en este caso, las constates que se declaran dentro del enumerado, se inicializaran dentro del constructor TipoLugar(),  y ya no deberían de cambiarse , por tanto nos puede venir bien declarar esos dos atributos como final para evitar la posiblidad de que se puedan cambiar el valor de ambos atributos una vez inicializa...

33. Android: depurar el código

Imagen
Depurar aplicaciones Depurar un código significa " encontrar los errores " que este tenga, o las razones por las cuales un programa no se comporta como esperamos . Al depurar un código podremos ver cual es el valor de las variables del código por ejemplo, entre otro tipo de detalles. Una de las acciones que más se realizan es la de añadir " puntos de ruptura " ("breakpoints" en inglés). Los puntos de ruptura nos permite PARAR LA EJECUCIÓN DE UN PROGRAMA en una linea del programa para comprobar el valor de las variables existentes en ese momento . Para añadir un "punto de ruptura" clicamos en el margen izquierdo (columna de color gris) de la linea en la que queremos que se pare momentaneamente la ejecución de la aplicación, y continuació aparecerá un circulo rojo : Para que el programa se pare en esa linea, es necesario además que ejecutemos la aplicación en modo "debug" (depuración) . Para ello, pulsamos sobre la b...

32: Android: bases de datos

Imagen
Bases de datos en Android El software que gestiona las bases de datos que usa Android es SQLite . Para incluir bases de datos en nuestras aplicaciones Android, crearemos clases que deriven de la clase abstracta " SQLiteOpenHelper ". Las clase SQLiteOpenHelper es una clase con métodos abstractos en su interior, así que para crear una clase hija de la clase anterior, tendremos que implementar los siguiente métodos en su interior: onCreate() : este método hay que implementarlo , y contendrá el código que queremos que se ejecute cuando se instancie la clase que deriva de "SQLiteOpenHelper". Por lo general, dicho código contendrá la sentencia que crea la base de datos . onUpgrade() : este método hay que implementarlo , y contendrá el código que queremos que se ejecute cuando se instancie  la clase que deriva de "SQLiteOpenHelper". onOpen() -> esta es opcional.  Además tenemos estos dos métodos adicionales a los que vamos a llamar tambié...

31: Android: barra de acciones (ActionBar)

Imagen
Barra de acciones (ActionBar) Por defecto, las aplicaciones Android muestran una barra donde se pueden añadir acciones.   En el caso de disponer de menos tamaño de pantalla, el sistema puede redestribuir los elementos y pasar alguna accioón al menu de "overflow" (tres puntos de la parte superior derecha en la imagen). Añadir un menú Para añadir un menú, pulsamos botón derecho del ratón sobre la carpeta "res" y seleccionamos "Android resource file". En el formulario que aparece a continuación, escribimos un nombre para el archivo (campo "File name"), por ejemplo "menu.xml", y en el 2º campo " Resource type " seleccionamos " Menu ". Después pulsamo "OK". A continuación, en la carpeta "res"se habrá creado un nueva carpeta "menu", y dentro de ella hayaremos el archivo "menu.xml". Si abrimos el archivo "menu.xml" encontraremos una interfaz de edición...

30. Android: actividades e intenciones

Imagen
Conversiones "cast" o "typecast" Es posible hacer conversiones entre tipos de datos cuyas clases tienen alguna relación de herencia. por ejemplo: La forma de realizar conversiones consiste en colocar el tipo destino entre paréntesis, a la izquierda del valor que queremos convertir de la forma siguiente: Tipo VariableNueva = (NuevoTipo) VariableAntigua; Por ejemplo:     int miNumero = (int) ObjetoInteger;       char c = (char)System.in.read(); Actividades Las actividades de una aplicación son lo que conocemos vulgarmente como las "pantallas" de la aplicación . Una aplicación suele estar compuesta de varias pantallas, es decir de varias actividades. El usuario navegará entre las distintas pantallas que tenga la aplicación cambiando así de actividad. En casi todos los dispositivos encontraremos la posibilidad de navegar hacia atras , para mostrar la pantalla anterior. La navegación entre actividades suele hacerse a partir de p...