lunes, 5 de junio de 2017

miércoles, 5 de abril de 2017

Layout

Layout es un término de la lengua inglesa que no forma parte del diccionario de la Real Academia Española (RAE). El concepto puede traducirse como “disposición” o “plan” y tiene un uso extendido en el ámbito de la tecnología.

La noción de layout suele utilizarse para nombrar al esquema de distribución de los elementos dentro un diseño. Es habitual que un diseñador que se dedica a la creación de páginas web desarrolle un layout y se lo presente a su cliente para que éste lo apruebe y decida sobre la distribución de los contenidos.
Layout

El layout, en este sentido, puede ser una especie de plantilla que presenta tablas o espacios en blanco. La idea es que, a partir del layout, la página web comience a desarrollarse con sus contenidos específicos. El layout puede estar compuesto, por ejemplo, por un rectángulo a modo de cabezal y por tres columnas. Dicho esquema es genérico y puede usarse para desarrollar múltiples sitios web.

domingo, 2 de abril de 2017

Estructura de carpetas de un proyecto android

SRC:
Se encuentra toda la lógica de aplicación, todas las clases programadas en JAVA. Dentro de ella puedes definir distintos paquetes, donde puedes dividir en capas tus reglas de negocio.
Android Library:
Aquí se encuentran todas las librerías propias del SDK de android, dependiendo la versión elegida al crear el proyecto tendrá una versión u otra.

RES:
Se encuentran todos los archivos con los recursos que usan la aplicación. Las imágenes, archivos de idiomas, estilos, etc.. Un pequeños listado de estos puede ser:

Drawable:
Carpeta con todas las imágenes de la app. Se subdivide en múltiples carpetas desde la versión 1.6, que contienen las imágenes en distintas resoluciones y tamaños que se usarán dependiendo el dispositivo usado.

Directorio layout:Aquí se encuentran las distintas “pantallas” de la aplicación, es decir, los archivos xml con las interfaces visual asociadas a las activities.

Values:Carpeta con los xml de contenido de la app. En ella puede haber definidas las constantes de la aplicación, dando la posibilidad del multidioma. También puedes definir estilos para tus componentes. Y todo tipo de configuraciones.

BIN:Aquí se encuentran todos los archivos generados por la propia app. Como sabeis, android usa la máquina virtual dalvik, primero se traduce a los típicos archivos .class de java y posteriormente es traducido a los archivo .dex propios de android.

También esta el ejecutable de la aplicación "apk", sería el equivalente a los "exe" de windows. Es el archivo que deberías instalar en cualquier teléfono android para probar la aplicación.


GEN:En esta carpeta esta el archivo R.class, éste contiene lo identificadores los recursos usados por tu proyecto: imágenes, layout, etc....

ASSESTS:Carpeta donde se encuentran los archivos auxiliares de tu aplicación: imágenes, audios, vídeos... la diferencia con los que se encuentran con la carpeta "RES", es que los archivos incluidos aquí no generarán un identificador dentro del archivo R.class anteriormente descrito.
Para usar estos archivos, en vez de referenciarlos por un ID, habría que usar la ruta física como cualquier otro archivo


LIB:Aquí irán las librerías externas importados que necesites. Por ejemplo, si deseas meter publicidad en tu app, aquí ira la librería necesaria para ello.

MANIFEST:Archivo básico de configuración de toda aplicación android. En el se definen todas las activities de la app, sus permisos, etc... En este artículo se explica con detalle: que es el android manifest

Pasos para crear el primer proyecto android



Ya tenemos todo lo necesario instalado para implementar el primer proyecto. Desde el menú de opciones: File -> New -> Android Application Project

creacion proyecto android


En este diálogo especificamos el nombre de la aplicación y proyecto (pueden ser iguales) y el nombre del paquete java donde se almacenarán los archivos java que creemos (normalmente la url de su empresa al revés).
Ahora empezaremos a presionar el botón next para pasar a otras configuraciones de nuestra aplicación, por el momento dejaremos todos los valores por defecto en cada una de los diálogos que aparece (son 5 diálogos actualmente), en el último diálogo debe aparecer el botón "Finish" el cual presionamos.
La interfaz visual de nuestro programa para Android se almacena en un archivo XML en la carpeta res, subcarpeta layout y el archivo se llama activity_main.xml. En esta carpeta tenemos creada nuestra primer pantalla.
archivo xml graphical layout

Si seleccionamos la otra pestaña podemos visualizar el archivo activity_main.xml en formato de texto:
archivo xml en modo texto

El ADT ya insertó un control de tipo RelativeLayout que permite ingresar controles visuales alineados a los bordes y a otros controles que haya en la ventana (más adelante analizaremos este layout)
Ya veremos que podemos modificar todo este archivo para que se adapte a la aplicación que queremos desarrollar.
Luego contenido en el control RelativeLayout hay otro control de tipo TextView que es básicamente una etiqueta o label que mostrará en pantalla el valor almacenado en la propiedad text.
Podemos modificar directamente el archivo xml o en "vista de diseño" modificar los valores de las propiedades. Elegimos nuevamente la pestaña "Graphical Layout" y seleccionamos el TextView con el mouse y vemos que en la parte derecha de la pantalla aparece una ventana llamada "properties":

properties

Y estando seleccionado el TextView buscamos la propiedad Text y cargamos: "Mi primer programa para Android" y presionamos enter, podemos ver que se actualiza la vista:


properties

Con esto ya podemos probar nuestra primer aplicación para un dispositivo Android. SELECCIONAMOS con el mouse en la ventana de la izquierda (Package Explorer) el proyecto001 y presionamos el ícono de Run (triángulo verde) o desde el menú. Seleccionamos que se ejecute como aplicación "Android Application". Ahora se abrirá el AVD(Android Virtual Device) esto tarda bastante tiempo, es muy importante recordar que luego de ver ejecutándose el programa NO debemos cerrar el AVD para que la próxima ejecución se inicie más rápido (podemos minimizar el AVD)
Ahora podemos ver nuestra primer aplicación corriendo en el emulador de Android:

AVD con programa Android en ejecucion












Pasos para configurar pc para desarrollar am en android

1. Descargar e instalar JDK

Entramos a la página dando clic en este link: https://www.oracle.com/index.html
Nos vamos a la sección de "Downloads" (descargas).
Nos vamos a la pestaña de descargas más populares y damos clic en "Java". Después se va a descargar la versión Standar Edition "Java SE".
Damos clic en la plataforma de Java versión 7u17.
Tenemos la lista de las diferentes versiones, las cuales podemos descargar para nuestra computadora dependiendo la plataforma.
Aceptamos las condiciones de uso. Después se da clic al link, y se espera hasta que se descargue. Una vez descargado, lo abrimos y se procede a la instalación.
Cuando lo abrimos aparece una ventana y daremos clic en "Next", "Next", "Next", y "Close".(Ya queda instalado JDK en nuestra computadora).

2. Descargar e instalar SDK

Se accede a la siguiente página: https://www.android.com/
Se da clic en "Developers". 
Después se da clic en "Get the SDK" y luego en "USE AN EXISTING IDE". 
Después se da clic en el botón: " Download the SDK Tools for Windows", luego aceptamos donde dice "I have read and agree with the above terms and conditions", y luego en "Download the SDK Tools for Windows".
Cuando ya se haya terminado de descargar, abrimos el archivo y le damos clic en: "Next", "Next", "Next", "Next", después copiamos la ruta para guardarla, porque es indispensable, la guardamos en un archivo de texto, y esto se hace porque mas adelante se ocupará.
Después se da clic en "Next", "Install", "Next" y "Finish".

3. Configurando SDK

Automáticamente después de instalarse se ejecuta el administrador del SDK.
Se da clic en Android 4.2.2(API 17), después se da clic en el recuadro "Android 2.2(API 8) y en el triángulo que está a lado. Después de esto se da clic en el triángulo "Extras". 
Se da clic en "Install 5 packages".
Clic en "Samples for SDK API 8, revision 1", y luego se acepta la licencia. 
Por último se da clic en "Install".

4. Descargar Eclipse

Da clic en este link: http://www.eclipse.org/, y luego en "Download".
Descargar la primera que nos aparece que es "Eclipse IDE for Java EE Developers". Deben asegurarse de que en la pestaña diga la versión que utilizamos. Y después descargamos la versión de 32 bit "Windows 32 bit".
Damos clic sobre el link "[Brazil] Edugraf-INE-CTC-UFSC (http)".
Aparece la pestaña "Información del fichero de descarga", y se da clic en "Iniciar descarga".
Una vez que ya se tiene descomprimido, la abrimos y buscamos el icono de eclipse, le damos clic.
Seleccionamos el workspace, y luego clic en "OK".

5. Instalar Plugin

Ir a "Help", y luego dar clic en "Install New Software..."
Se abre un cuadro de diálogo, clic en "Add".
Escribimos un nombre intuitivo.
En localization o dirección y se pone: https://dl-ssl.google.com/android/eclipse/ y se da clic en "OK". 
Va a comenzar a buscar en los repositorios de Google.
Clic en la palabra "Pending".
Se da clic en el cuadrito de "Developers Tools", luego en "Next".
Cuando ya se haya terminado de buscar los repositorios, damos clic en "Next", y se aceptan los términos de la licencia y damos clic en "Finish".
Se abre un cuadro de diálogo en el cual nos muestra el progreso de la instalación del plugin (esperar...), durante el proceso de instalación también nos manda unas advertencias porque estamos instalando un nuevo software, darle clic en "OK", para que proceda con una instalación, al mismo tiempo Windows nos manda una alerta de seguridad que permita el acceso a las redes, dar clic en "Allow access".
Luego aparece otro cuadro de diálogo que dice que ya se hizo la autorización, pero que necesita reiniciar Eclipse, clic en "Yes".
Y aparece un error, dice que no puede encontrar este directorio, así que falta otra paso para configurar el Plugin en Eclipse, por lo tanto pasamos al paso número 6.

6. Configurar las preferencias de Eclipse

Clic en "Open Preferences".
Aparece un cuadro de diálogo y está pidiendo la ruta que se guardó cuando se instaló el SDK.
Esa ruta debe ponerse donde dice SDK Location, y damos clic en "OK".

7. Configurar la máquina virtual

Clic en el icono "Android Virtual Device Manager", luego en "New".
Aparece un cuadro de diálogo y en AVD Name se escribe el nombre para identificar el Plugin, por ejemplo "Android2.2".
Después se da clic en Device para escoger el dispositivo que se va a utilizar, se selecciona "2.7" QUGA (240x320:ldpi)
En Target seleccionamos "Android 2.2- Apl Level 8", dejamos las siguientes dos palomitas así como están.
En Internal Storage, poner "650"
En Emulation Options, palomear a Snapshot, luego clic en "Ok".
En el cuadro de diálogo clic en "Android2.2" y luego en "Start...".

Proceso de instalación del programa eclipse


1.- Instala la plataforma Java:

  • Si no tienes Java Runtime Environment (JRE) instalado, Eclipse no se podra abrir
Imagen titulada Install Eclipse and Setup ADT Step 1

2.- Descarga la plataforma de Eclipse:

  • Para la mayoría de los desarrolladores de Android, el paquete de Eclipse Standard contiene todo lo que necesitas.
Imagen titulada Install Eclipse and Setup ADT Step 2

3.- Extrae el archivo de Eclipse:

  • Muchos usuarios reportan problemas usando el programa de Windows para descomprimir archivos. Al extraer el archivo, usa un programa alterno como 7-Zip o Winzip.
Imagen titulada Install Eclipse and Setup ADT Step 3

4.- Crea un acceso directo a Eclipse:

  • Haz clic derecho en “eclipse.exe” y selecciona “Enviar a”. Haz clic en “Escritorio (crear acceso directo)”. Esto creará un nuevo acceso directo en tu escritorio del archivo “eclipse.exe”.
Imagen titulada Install Eclipse and Setup ADT Step 4

5.- Especifica la JVM:
  • Para especificar la instalación del JDK, agrega la siguiente línea a tu acceso directo de Eclipse. Reemplaza la dirección con la ubicación de tu archivo javaw.exe:
    -vm C:\path\to\javaw.exe[2]

viernes, 10 de marzo de 2017

Características del sistema operativo android

* Código abierto

* Núcleo basado en el Kernel de Linux

* Adaptable a pantallas

* Utiliza SQLite

* Diferentes mensajerías

* Navegador basado en Webkite

* Soporte Java

* Soporte HTML, HTML5, Adobe Flash, Players, ect.

* Emulador de dispositivos

* Google Playstore

* Bluetooth

* Multitarea real de aplicaciones

jueves, 9 de marzo de 2017

Versiones de los sistemas operativos Android


El historial de versiones del sistema operativo Android se inició con el lanzamiento de Android beta en noviembre de 2007. La primera versión comercial (de prueba), Android 1.0, fue lanzada en septiembre de 2008. Android es un sistema operativo móvil desarrollado por Google y la Open Handset Alliance, y ha visto un número de actualizaciones a su sistema operativo base desde su lanzamiento original. Estas actualizaciones típicamente corrigen fallos de programa y agregan nuevas funcionalidades. Desde abril de 2009, las versiones de Android han sido desarrolladas bajo un nombre en clave y sus nombres siguen un orden alfabético: Cupcake, Donut, Éclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, KitKat, Lollipop, Marshmallow y el nuevo Nougat lanzado en agosto de 2016.

Nombre código            Número de versión           Fecha de lanzamiento          Nivel de API
(sin nombre oficial)1.023 de septiembre 20081
(sin nombre oficial)1.19 de febrero 20092
Cupcake1.527 de abril de 20093
Donut1.615 de septiembre de 20094
Eclair2.0–2.126 de octubre de 20095-7
Froyo2.2–2.2.320 de mayo 20108
Gingerbread2.3–2.3.76 de diciembre 20109–10
Honeycomb13.0–3.2.622 de febrero de 201111–13
Ice Cream Sandwich4.0–4.0.418 de octubre 201114–15
Jelly Bean4.1–4.3.19 de julio de 201216–18
KitKat4.4–4.4.4, 4.4W–4.4W.231 de octubre de 201319–20
Lollipop5.0–5.1.112 de noviembre de 201421–22
Marshmallow6.0–6.0.15 de octubre de 201523
Nougat7.0 - 7.122 de agosto de 201624 - 25




Resultado de imagen para versiones de todos los sistemas operativos android






Arquitectura del sistema operativo android



Para empezar con el desarrollo de aplicaciones en Android es importante conocer cómo está estructurado este sistema operativo. A esto le llamamos arquitectura y en el caso de Android está formada por varias capas que facilitan al desarrollador la creación de aplicaciones. Además, esta distribución permite acceder a las capas más bajas mediante el uso de librerías para que así el desarrollador no tenga que programar a bajo nivel las funcionalidades necesarias para que una aplicación haga uso de los componentes de hardware de los teléfonos.
Cada una de las capas utiliza elementos de la capa inferior para realizar sus funciones, es por ello que a este tipo de arquitectura se le conoce también como pila. Para entender mejor, a continuación cito el diagrama de la arquitectura de Android tomada del sitio oficial de Android developers:
Explicamos ahora cada una de las capas iniciando de abajo hacia arriba.
Kernel de Linux. Como dijimos en el artículo ¿Qué es Android?, el núcleo del sistema operativo Android está basado en el kernel de Linux versión 2.6, similar al que puede incluir cualquier distribución de Linux, como Ubuntu, solo que adaptado a las características del hardware en el que se ejecutará Android, es decir, para dispositivos móviles.
El núcleo actúa como una capa de abstracción entre el hardware y el resto de las capas de la arquitectura. El desarrollador no accede directamente a esta capa, sino que debe utilizar las librerías disponibles en capas superiores. De esta forma también nos evitamos el hecho de quebrarnos la cabeza para conocer las características precisas de cada teléfono. Si necesitamos hacer uso de la cámara, el sistema operativo se encarga de utilizar la que incluya el teléfono, sea cual sea. Para cada elemento de hardware del teléfono existe un controlador (o driver) dentro del kernel que permite utilizarlo desde el software.
El kernel también se encarga de gestionar los diferentes recursos del teléfono (energía, memoria, etc.) y del sistema operativo en sí: procesos, elementos de comunicación (networking), etc.
Librerías. La siguiente capa que se sitúa justo sobre el kernel la componen las bibliotecas nativas de Android, también llamadas librerías. Están escritas en C o C++ y compiladas para la arquitectura hardware específica del teléfono. Estas normalmente están hechas por el fabricante, quien también se encarga de instalarlas en el dispositivo antes de ponerlo a la venta. El objetivo de las librerías es proporcionar funcionalidad a las aplicaciones para tareas que se repiten con frecuencia, evitando tener que codificarlas cada vez y garantizando que se llevan a cabo de la forma “más eficiente”.
Entre las librerías incluidas habitualmente encontramos OpenGL (motor gráfico), Bibliotecas multimedia (formatos de audio, imagen y video), Webkit (navegador), SSL (cifrado de comunicaciones), FreeType (fuentes de texto), SQLite (base de datos), entre otras.
Entorno de ejecución. Como podemos apreciar en el diagrama, el entorno de ejecución de Android no se considera una capa en sí mismo, dado que también está formado por librerías. Aquí encontramos las librerías con la funcionalidades habituales de Java así como otras específicas de Android.
El componente principal del entorno de ejecución de Android es la máquina virtual Dalvik. Las aplicaciones se codifican en Java y son compiladas en un formato específico para que esta máquina virtual las ejecute. La ventaja de esto es que las aplicaciones se compilan una única vez y de esta forma estarán listas para distribuirse con la total garantía de que podrán ejecutarse en cualquier dispositivo Android que disponga de la versión mínima del sistema operativo que requiera la aplicación.
Cabe aclarar que Dalvik es una variación de la máquina virtual de Java, por lo que no es compatible con el bytecode Java. Java se usa únicamente como lenguaje de programación, y los ejecutables que se generan con el SDK de Android tienen la extensión .dex que es específico para Dalvik, y por ello no podemos correr aplicaciones Java en Android ni viceversa.
Framework de aplicaciones. La siguiente capa está formada por todas las clases y servicios que utilizan directamente las aplicaciones para realizar sus funciones. La mayoría de los componentes de esta capa son librerías Java que acceden a los recursos de las capas anteriores a través de la máquina virtual Dalvik. Siguiendo el diagrama encontramos:
  1. Activity Manager. Se encarga de administrar la pila de actividades de nuestra aplicación así como su ciclo de vida.
  2. Windows Manager. Se encarga de organizar lo que se mostrará en pantalla. Básicamente crea las superficies en la pantalla que posteriormente pasarán a ser ocupadas por las actividades.
  3. Content Provider. Esta librería es muy interesante porque crea una capa que encapsula los datos que se compartirán entre aplicaciones para tener control sobre cómo se accede a la información.
  4. Views. En Android, las vistas los elementos que nos ayudarán a construir las interfaces de usuario: botones, cuadros de texto, listas y hasta elementos más avanzados como un navegador web o un visor de Google Maps.
  5. Notification Manager. Engloba los servicios para notificar al usuario cuando algo requiera su atención mostrando alertas en la barra de estado. Un dato importante es que esta biblioteca también permite jugar con sonidos, activar el vibrador o utilizar los LEDs del teléfono en caso de tenerlos.
  6. Package Manager. Esta biblioteca permite obtener información sobre los paquetes instalados en el dispositivo Android, además de gestionar la instalación de nuevos paquetes. Con paquete nos referimos a la forma en que se distribuyen las aplicaciones Android, estos contienen el archivo .apk, que a su vez incluyen los archivos .dex con todos los recursos y archivos adicionales que necesite la aplicación, para facilitar su descarga e instalación.
  7. Telephony Manager. Con esta librería podremos realizar llamadas o enviar y recibir SMS/MMS, aunque no permite reemplazar o eliminar la actividad que se muestra cuando una llamada está en curso.

Aplicaciones. En la última capa se incluyen todas las aplicaciones del dispositivo, tanto las que tienen interfaz de usuario como las que no, las nativas (programadas en C o C++) y las administradas (programadas en Java), las que vienen preinstaladas en el dispositivo y aquellas que el usuario ha instalado.
En esta capa encontramos también la aplicación principal del sistema: Inicio (Home) o lanzador (launcher), porque es la que permite ejecutar otras aplicaciones mediante una lista y mostrando diferentes escritorios donde se pueden colocar accesos directos a aplicaciones o incluso widgets, que son también aplicaciones de esta capa.
Como podemos ver, Android nos proporciona un entorno sumamente poderoso para que podamos programar aplicaciones que hagan cualquier cosa. Nada dentro de Android es inaccesible y podemos jugar siempre con las aplicaciones de nuestro teléfono para optimizar cualquier tarea.
El potencial de Android se sitúa en el control total que se le da al usuario para que haga de su teléfono un dispositivo a su medida.

Sistemas operativos comerciales para móviles

Los sistemas operativos usados para los teléfonos móviles, celulares o smartphone son muchos, pero hay 2 que son los principales y que ocupan casi todo el mercado de la telefonia móvil: Android e iOS. Seguidos pero con mucha diferencia estarían Blackberry OS y Windows Phone.


Android:
Es sistema operativo de Google y es usado por HTC, LG, Motorola, Samsung y BQ. Algunas de sus versiones son Apple Pie, Banana Bread, Jelly Bean o KitKat.

Características:

- Es de código abierto (se puede modificar) es gratis y está basado en Linux.

- Se adapta a las diferentes resoluciones de pantalla.

- Soporte de HTML, HTML5, Adobe Flash Player, etc.,

- Un gran catalogo de aplicaciones para descargar, gratuitas y de pago.

- Se puede usar Google Talk, para realizar videollamadas,

- Multitarea real de aplicaciones.

- Muchos tipos de teclados diferentes.

- Gran cantidad de formas diferentes de personalizar el escritorio de nuestro Smartphone.

- Se pueden buscar aplicaciones que se necesiten e instalarlas directamente con el PC puesto que todo se sincroniza automáticamente en el teléfono sin necesidad de conexión de cables.

- Por último diremos que se puede controlar el teléfono móvil desde el ordenador de forma muy sencilla.


iOS: 
Es el sistema operativo de la empresa Apple que utilizan los iPhone y el iPad.

Características:

- Es un sistema operativo cerrado, es decir no se puede modificar.

- Tiene un sistema de monitorización del consumo de batería que podría ayudar a gestionarla de forma mucho más eficiente.

- Permite que podamos instalar un teclado de terceros.

- Funciones que incluyen atajos para mandar fotos, videos, notas de voz, compartir tu ubicación, mejor gestión de conversiones en grupo y una opción para silencio.

- Otra característica divertida de iOS es la posibilidad que Apple le ha dado a Siri de identificar canciones.

- Sensación de velocidad durante su uso, mediante algunos trucos de programación.

- Reciben de manera constante actualizaciones.

- Twitter es directamente integrado en el iPhone.

- Por último decir que Apple no da licencia del software iOS a terceros, por lo que tan solo los iPhone disponen de este sistema operativo.


Windows Phone: 
Desarrollado por Microsoft, es utilizado básicamente por los terminales o Smartphone de gama alta de Nokia.

Características:

- Está diseñado para ser similar a las versiones de escritorio de Windows estéticamente y tiene la posibilidad de utilizar importantes herramientas pertenecientes a las suites Office Mobile, Outlook Mobile e Internet Explorer.

- Podremos personalizar también nuestra pantalla de bloqueo del teléfono con imágenes e información de aplicaciones.

- Skype estará completamente integrado en Windows Phone 8, música en streaming Pandora, podremos crear “habitaciones” de usuarios en el PeopleHub, en las que podremos crear grupos para chats privados, compartir calendarios y notas públicas.

- Lo malo de este sistema operativo es que hay pocas aplicaciones (apps) para este sistema operativo.


BlackBerry OS: 
Desarrollado por RIM (Research In Motion), que también es la empresa fabricante de los BlackBerry. Lógicamente es el sistema operativo utilizado en los BlackBerry, desarrollando así su propio SO móvil.

Características:
- El sistema permite multitarea y tiene soporte para diferentes métodos exclusivos como sus trackwheel, trackball, touchpad y pantallas táctiles.

- Uso profesional, gracias a sus herramientas para correo electrónico y agenda, teclado QWERTY.

- Permite la sincronización con herramientas tales como Novell GroupWise, Microsoft Exchange Server y Lotus Notes.