jueves, 2 de junio de 2016



Estructura de un proyecto Android en Eclipse

Cuando creamos un proyecto Android en Eclipse se genera automáticamente la estructura de carpetas necesarias para poder generar posteriormente la aplicación. 
En la siguiente imagen se muestran los elementos creados inicialmente para un nuevo proyecto Android:



Elementos principales

Carpeta/src/
Contiene todo el código fuente de la aplicación, código de la interfaz gráfica, clases auxiliares, etc. Inicialmente, Eclipse creará por nosotros el código básico de la pantalla (Activity) principal de la aplicación, siempre bajo la estructura del paquete java definido.



Carpeta/res
Contiene todos los ficheros de recursos necesarios para el proyecto: imágenes, vídeos, cadenas de texto, etc. Los diferentes tipos de recursos de deberán distribuir entre las siguientes carpetas:


  • /res/drawable/. Contienen las imágenes de la aplicación. Se puede dividir en /drawable-ldpi,/drawable-mdpi y /drawable-hdpi para utilizar diferentes recursos dependiendo de la resolución del dispositivo.
  • /res/layout/. Contienen los ficheros de definición de las diferentes pantallas de la interfaz gráfica. Se puede dividir en /layout y /layout-land para definir distintos layouts dependiendo de la orientación del dispositivo.
  • /res/anim/. Contiene la definición de las animaciones utilizadas por la aplicación.
  • /res/menu/. Contiene la definición de los menús de la aplicación.
  • /res/values/. Contiene otros recursos de la aplicación como por ejemplo cadenas de texto (strings.xml), estilos (styles.xml), colores (colors.xml), etc.
  • /res/xml/. Contiene los ficheros XML utilizados por la aplicación.
  • /res/raw/. Contiene recursos adicionales, normalmente en formato distinto a XML, que no se incluyan en el resto de carpetas de recursos.
Como ejemplo, para un proyecto nuevo Android, se crean los siguientes recursos para la aplicación:


Carpeta/gen
Contiene una serie de elementos de código generados automáticamente al compilar el proyecto. Cada vez que generamos nuestro proyecto, la maquinaria de compilación de Android genera por nosotros una serie de ficheros fuente en java dirigidos al control de los recursos de la aplicación.

El más importante es el que se puede observar en la imagen, el fichero R.java, y la clase R.
Esta clase R contendrá en todo momento una serie de constantes con los ID de todos los recursos de la aplicación incluidos en la carpeta /res/, de forma que podamos acceder fácilmente a estos recursos desde nuestro código a través de este dato. Así, por ejemplo, la constante R.drawable.icon contendrá el ID de la imagen “icon.png”contenida en la carpeta /res/drawable/. Veamos como ejemplo la clase R creada por defecto para un proyecto nuevo:

public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}


Carpeta/assets
Contiene todos los demás ficheros auxiliares necesarios para la aplicación (y que se incluirán en su propio paquete), como por ejemplo ficheros de configuración, de datos, etc.
La diferencia entre los recursos incluidos en la carpeta /res/raw/ y los incluidos en la carpeta /assets/ es que para los primeros se generará un ID en la clase R y se deberá acceder a ellos con los diferentes métodos de acceso a recursos. Para los segundos sin embargo no se generarán ID y se podrá acceder a ellos por su ruta como a cualquier otro fichero del sistema. Usaremos uno u otro según las necesidades de nuestra aplicación.


Carpeta /libs/
Contendrá las librerías auxiliares, normalmente en formato “.jar” que utilicemos en nuestra aplicación Android.

Fichero AndroidManifest.xml
Contiene la definición en XML de los aspectos principales de la aplicación, como por ejemplo su identificación (nombre, versión, icono, …), sus componentes (pantallas, mensajes, …), o los permisos necesarios para su ejecución. Veremos más adelante más detalles de este fichero.
En el siguiente post veremos los componentes software principales con los que podemos construir una aplicación Android.

miércoles, 13 de abril de 2016


Primera aplicación de Android en Eclipse.

"Hola mundo" en Android con Eclipse.

Empezaremos con un programa de ejemplo, llamado “Hola mundo” este nombre se suele poner a la primera práctica que realizamos en cualquier lenguaje de programación.

Debemos tener instaladas las herramientas necesarias y que detallarán en 
android developers(en inglés).

Para ello abrimos el IDE y desde el menú superior accedemos a File ---> New -->AndroidAplicattionProject, se habilitará un cuadro de diálogo en el que nos pedirán la siguiente información:



Nombre de la aplicación(El que se mostrará al usuario una vez instalada, Hola Mundo).

Nombre del proyecto como hemos dicho Hola Mundo. Nombre del paquete que se usa como espacio de nombres y estructura de organización del código, “com.example.holamundo” Versión de Android mínima requerida, por ejemplo Android 2.2 (cuanto menor sea la versión, nuestra aplicación correrá en más dispositivos, aunque por otro lado nos penalizará el no poder usar las últimas características de Android).


A continuación marcamos la opción Crear Actividad para que Eclipse cree la clase que se lanzará al ejecutar la aplicación. Normalmente a esta clase se la llamará MainActivity, ya que será la clase principal de nuestra App. Al completar todo pulsamos finalizar para que se cree nuestro primer proyecto Android.


miércoles, 2 de marzo de 2016

Programación Android 2: configuración de PC para desarrollar como Android
A continuación te dejo el video que te ayudará con los pasos para realizar la configuración.







Resumen:
·         Paso uno: Instalar UDK (conjunto de herramientas para Java).
·         Paso dos: Descargar e instalar SDK (conjunto de herramientas para Android).
·         Paso tres: Descargar Eclipse, para esto debes ingresar al sitio oficial de Eclipse (https://eclipse.org/), después vas a la sección de descargas y elijes la primera opción. Ya descargado lo comprimes.
·         Paso cuatro: Instalar Plugin, lo cual va a permitir integrar las herramientas de desarrollo  para Android con Eclipse, así van a ser reconocidos los pasos.
·         Paso cinco: Configurar las preferencias de Eclipse.
·         Paso seis: Configurar la máquina virtual a través del controlador virtual de Android.
Programación Android tutorial 1: Introducción
A continuación se muestra un video que ayudará a comprender mas sobre Android y las características de su sistema operativo.

Resumen:
Android es un sistema operativo que desde 2005 es propiedad de Google  y está basado en Linux. Está diseñado principalmente para dispositivos que tienen pantalla táctil.
Características del sistema operativo:
·         Es multitarea, es decir, la capacidad de desarrollar muchas tareas al mismo tiempo.
·         Permite desarrollar aplicaciones como Java.
·         Es multitáctil, es decir, la capacidad de percibir mediante pequeños toques en la pantalla e interpretarlos como touch, arrastrar o mover elementos.

·         También brinda un soporte para bases de datos y lo hace a través del sistema llamado SQLite.







Entornos de trabajo para aplicaciones moviles

En
tor
no
Características
Ventajas
Desventajas
E
C
L
I
P
S
E

·         Dispone de un editor de texto con resaltado de sintaxis donde puedes ver el contenido del fichero en el que estás trabajando.
·         Contiene una lista de tareas y otros módulos similares.
·         La compilación es en tiempo real.
·         Tiene pruebas unitarias con Junit.
·         Integración con Ant, asistentes (wizards) para creación de proyectos, clases, tests, etc. y refactorización.
·         El entorno de desarrollo integrado de Eclipse emplea módulos para proporcionar toda su funcionalidad al frente de la plataforma de cliente rico a diferencia de otros entornos monolíticos donde las funcionalidades están todas incluidas, las necesite el usuario o no.
·         Este mecanismo de módulos es una plataforma ligera de componentes de software. Adicionalmente permite a Eclipse extenderse usando otros lenguajes de programación como son C/C++ y Python, permite a Eclipse trabajar con lenguajes para procesado de texto como LaTex, aplicaciones en red como Telnet y sistema de gestión en bases de datos.
·         La arquitectura Plug-in permite escribir cualquier extensión deseada en el ambiente, como seria gestión de la configuración.
·         La definición que da el proyecto Eclipse acerca de su Software es: “Una especie de herramienta universal-un IDE abierto y extensible para todo y nada en particular.
·         Su principal inconveniente es el consumo de recursos del sistema.
·         Carece de muchos recursos para webapps tal y como lo hace netbeans.
X
C
O
D
E

·         Es el entorno de desarrollo integrado de Apple Inc. Y se suministra gratuitamente junto con Mac OS X.
·         Xcode trabaja conjuntamente con Interface Builder, una herencia de NeXT, una herramienta básica para la creación de interfaces de usuario.
·         Incluye la colección de compiladores del proyecto GNU (GCC), y puede compilar código C, C++, Objetive-C, Objetive-C++, Java y Apple Script.
·         Compilación de múltiples lenguajes.
·         Tiene simulación virtual IOS.
·         Insepección de código (“en tiempo real”).
·         Es gratuito.
·         Está diseñado solo para Mac.
·         No hay mucha información sobre su uso.
·         Es un poco extenso en herramientas y eso es bueno solo cuando se sabe usar bien.
N
E
T
B
E
A
N
S

·         La plataforma NetBeans es una base modular y extensible usada como una estructura de integración para crear aplicaciones de escritorio grandes. 
·         La plataforma ofrece servicios comunes a las aplicaciones de escritorio, permitiéndole al desarrollador enfocarse en la lógica específica de su aplicación. 
·         Entre las características de la plataforma están: 
  ü  Administración de las interfaces de usuario (ej. menús y barras de herramientas). 
  ü  Administración de las configuraciones del usuario. 
  ü  Administración del almacenamiento (guardando y cargando cualquier tipo de dato). 
  ü  Administración de ventanas. 
  ü  Framework basado en asistentes (diálogos paso a paso). 
·         Paquetes que componen a NetBeans (algunos pueden ser descargados individualmente). 
·         NetBeans Enterprise Pack provee Soporte para la creación de aplicaciones orientadas a servicios (SOA), incluyendo herramientas de esquemas XML, un editor WSDL, y un editor BPEL para web services.
·         La plataforma Netbeans puede ser usada para desarrollar cualquier tipo de aplicación.
·         Reutilización del Módulos.
·         Permite el uso de la herramienta Update Center Module.
·         Instalación y actualización simple.
·         Incluye Templates y Wizards.
·         Posee soporte para Php.

·         Poca existencia de pluguins para esta plataforma.
·         hace falta documentación del Rich Client Plataform (RCP).
·         No posee un editor de código HTML.

J
A
V
A

·         Lenguaje totalmente orientado a Objetos. 
·         Disponibilidad de un amplio conjunto de bibliotecas. 
·         Lenguaje simple. 
·         Distribuido. 
·         Interpretado y compilado a la vez. 
·         Robusto. 
·         Seguro. 
·         Indiferente a la arquitectura. 
·         Portable. 
·         Alto rendimiento. 
·         Multihebra. 
·         Dinámico. 
·         Produce applets. 
§  Manejo automático de la memoria. (para los que vienen de C/C++) " Si, no hay punteros! WOW!". El manejo de la memoria se hace automáticamente y utilizando el garbage collector. Esto ahorra SIGNIFICANTE tiempo de programación.
§  Lenguaje Multi-plataforma: El código que escrito en java es leído por un intérprete, por lo que su programa andará en cualquier plataforma.
§  Programación Orientada a Objetos: Paradigma muy utilizado hoy en dia que facilita y organiza mucho la programación.
§  Puede correr en el explorador y en dispositivos móviles.
§  Sintaxis similar a C/C++, pero más simple.

§  Menos Eficiente, comparado a C/C++.
§  Requiere un intérprete.
§  Algunas implementaciones y librerías pueden tener código rebuscado.
§  Una mala implementación de un programa en java, puede resultar en algo muy lento.

viernes, 26 de febrero de 2016

Cómo instalar Eclipse con el Plugin Android paso a paso

Android ofrece un plugin personalizado para el IDE de Eclipse, llamado Android Development Tools (ADT), para programar con esta solución, necesitas descargarte Java JDK y el propio Eclipse versión Indigo.

1.- Java JDK 6. http://www.oracle.com/technetwork/java/javase/downloads/index.html.




Cuando pulses sobre el botón"JDK Download" te llevara a otra pantalla, ve a la parte de Java JDK, tendrás que aceptar una licencia y ya seleccionar el sistema operativo que usas (windows, mac, 32bit(x86) o 64bit(x64)....)



2.- Eclipse Indigo (v 3.7.2 o mayor). http://eclipse.org/downloads/packages/release/Indigo/SR2
como veras hay varias compilaciones de Indigo, debes asegurarte que llevaEclipse JDT plugin (que esta incluido en la mayoría de los paquetes de Eclipse IDE) yo te recomiendo que descargues la versión que te marco aquí abajo (Eclipse IDE for Java Developers).





La instalación de Eclipse es sencilla, basta con que descomprimas el archivo que te descargaste, y saques un acceso directo del ejecutable Eclipse.exe que encontraras dentro de la carpeta Eclipse.





Una vez que hayas instalado el Java JDK y tengas Eclipse localizado, toca instalar el Plugin de Android para Eclipse, para esto haz lo siguiente:

1. Inicia Eclipse, lo primero que te preguntara será sobre la ubicación del WorkSpace, esta es la ubicación donde se guardaran tus proyectos, selecciona una ruta y acepta el dialogo. Truco: Si usas varios PC's usa DropBox o Drive para tener tus proyectos en todos tus PC's.





Después selecciona en el menú superior, selecciona Help > Install New Software.






2. Haz Click en Add, en la esquina superior derecha, en la ventana que aparece escribe "ADT Plugin" para el Name y la siguiente URL para la Location:


https://dl-ssl.google.com/android/eclipse/






3. Haz Click en OK.
4. Aparecerá entonces el software disponible, debes seleccionar el repositorio Developer Tools y hacer click en Next.





5. En la siguiente ventana, veras la lista del software que se va a descargar, haz Click en Next.





6. Lee y acepta la license agreements, después haz click en Finish.





Nota: Es muy posible que te aparezca un mensaje de aviso diciendo que la conexión ni es segura. Acepta el dialogo y continua, cuando termine la descarga reinicia Eclipse.




Tienes toda la documentación oficial aquí: http://developer.android.com/sdk/installing/installing-adt.html




A continuación, veremos una pantalla de bienvenida, esta pantalla la podrás cerrar pulsando la tecla ESCAPE o pulsando sobre la X en la esquina superior Izquierda. Una vez cerrada, entramos la ventana de trabajo principal.




2. Añadiendo las plataformas de Android (APIs Android)

Para descargarte las distintas plataformas Android (son las APIs o versiones de Android) hay que usar lo que llamamos SDKManager en Eclipse.




Se abrirá una ventana, espera hasta que el listado se cargue por completo, en ese momento podrás ver las carpetas correspondientes a todas las versiones de cada versión de sistema operativo Android, en función de la versión para que quieras desarrollar aplicaciones, marca la casilla correspondiente y pulsa en la parte inferior “Install packages…” para comenzar con su descarga.




Ahora ya esta todo listo para comenzar a programar y desarrollar tus aplicaciones para Android.

Otra cosa útil que deberías saber (por si mueves la carpeta de instalación de Eclipse o renombras la carpeta por defecto donde se guarda el SDK) es saber como se cambia la ruta o como se comprueba que el SDK esta bien instalado, en la barra de menú busca: Windows > Preferences.




En la ventana que se abre a continuación, en la parte izquierda selecciona Android, y en la parte derecha comprueba que la carpeta android-sdks está en la ruta que figura, si no... mal asunto!










*Información original click aquí*