eBooks de Maestros del Web
En este enlace podemos encontrar libros de programación en Android e iOS.
Enlace: http://www.maestrosdelweb.com/descargas/
Curso de Android
http://www.maestrosdelweb.com/editorial/descarga-curso-android/
iPad Foros
http://www.ipadforos.com/tutoriales-prog/aprender-programar-para-ios-material-espanol-t12004.html
Comentarios sobre Programación en Android
1# Como instalar el SDK de Android
2# Esqueleto de una aplicación en Android
3# Conceptos claves de Android
1# Como instalar el SDK de Android
Instalaremos el SDK de Android sobre la plataforma de desarrollo Eclipse. El tutorial vale para todas las plataformas: MAC,WIN,LINUX. Ya que Eclipse va sobre Java.
1- Instalar Eclipse: http://www.eclipse.org/downloads/
Con descargarse la versión Eclipse IDE for Java Developers (85 MB) es suficiente.
Una vez descargado, extraer el zip en la carpeta deseada.
2- Asegurarse de tener instalado Java en la máquina, sino Eclipse no funcionará. Descargarlo:http://java.sun.com/javase/downloads/index.jsp
3- Instalar el plugin de Android para Eclipse:
3.1- Añadir Site a instalar plugin: Ir al menu Help/Software Updates aparecerá una ventana ir a la pestaña Avaliable Updates, Add site y añadir la siguiente dirección: https://dl-ssl.google.com/android/eclipse/
3.2- Instalar el plugin: Una vez añadido la url, podrás seleccionar Developer Tools y darle a instalar.
IMPORTANTE:Una vez instalado tienes que reiniciar Eclipse para aplicar los cambios
3.3- Descargar SDK Android :http://developer.android.com/sdk/1.5_r2/index.html
IMPORTANTE: El paso 3.4 es fundamental o dará Eclipse dará el siguiente error
3.4- Añadir la ruta del SDK en eclipse: Ir al menu Window/Preferences y en la ventana que aparecerá, apartado Android añadir la ruta.
4- Ahora Ya puedes crear un proyecto de Android con Eclipse
2# Esqueleto de una aplicación en Android
Una aplicación de Android tiene el siguiente esqueleto básico, que hay que comprender para saber donde ir cuando quieres crear alguna cosa:
1. Directorio Assets: En este directorio se ponen cualquier tipo de fichero externo que sea necesario en cualquier momento por la aplicación por ejemplo: HTML para el Web Browser sin necesidad de conexión, tipografias, jar’s de terceros. Es un repositorio de archivos.
2. Directorio Bin: Los binarios compilados de la aplicación.
3. Directorio Res: Los recursos (resources), formada por 3 carpetas:
Drawable: ficheros de imágenes.
Layout: Ficheros de diseño de las interfaz de usuario. Ficheros xml que describen las interfaces.
Values: definición de variables. Ficheros xml en cada uno de ellos constantes, se agrupa por temática, es decir: definición de colores, definición de texto…
4. Directorio Src: Aquí va todo el código Java de la aplicación.
5. .project,.classpath: ficheros necesarios para abrir el proyecto con Eclipse.
6. AndroidManifest.xml: es un archivo requerido para cada aplicación. Describe los valores globales de su paquete, incluida la aplicación, componentes (actividades, servicios, etc), las clases para cada uno de los componentes, qué tipo de datos puede manejar cada uno, y donde puede ser lanzado.
3# Conceptos claves de Android
Hasta que no comprendí la importancia de los mapas de arquitectura, pensé que eran una tontería de los creadores para sus PowerPoint. Pero realmente estos mapas de arquitectura tienen mucha importancia. Estos mapas explican las capas de las que esta formada el sistema y la dependencia entre ellas. Cada una de las capas se encapsula y provee una interfaz de comunicación suficiente para que cada capa cumpla con su requisito obviando las de la capa anterior. Además también muestra las herramientas que te ofrece la arquitectura.
En el caso de Android, la capa inferior, Linux Kernel, es la encargada de gestionar el Hardware. Un nivel más arriba, encontramos las librerías de sistema operativo necesitan la abstracción que les provee el kernel. Al mismo nivel pero separas de las librerías encontramos Android Runtime encargados de gestionar peticiones de las aplicaciones y ejecutarlas. Por encima de estas dos encontramos la que nos interesa a nosotros Application Framework, que nos da todas las clases, recursos necesarios para que nuestras aplicaciones que corren en la capa Application pueda ser ejecutada en Android. En conclusión, el mapa de arquitectura es básico para saber donde se sitúa nuestra aplicación y que tenemos debajo.
Application Framework
Esta capa es la que nos interesa, proporciona los bloques de construcción que se utiliza para crear aplicaciones. Las partes más interesantes de esta capa son los siguientes:
• Activity Manager: Este controla el ciclo de vida de aplicaciones y mantiene un “Backstack” para que el usuario pueda utilizar otras aplicaciones mientras otras siguen ejecutandose.
• Content providers: Estos objetos encapsular los datos que hay que
compartidos entre las aplicaciones, como los contactos. Consulte Sección 2.3,
Proveedores de contenido, en la página 33.
• Resource Manager: Los recursos son algo que va con su programa que no es código
• Location Manager: Android siempre sabe tu localización.
• Notification manager: Eventos como mensajes recibidos, citas, alertas de proximidad, las invasiones exóticas, y más se pueden presentar en una manera discreta para el usuario.
Aunque tampoco hay que olvidar la gestión de llamadas, gestor de paquetes y el gestor de pantallas.
Bloques de construcción de Aplicación
Activity
Una actividad es una sola, se centra en acciones que el usuario pueda hacer. Cuando necesitas interaccionar con el usuario debes usar una actividad, esta se encarga de crear una ventana y gestionarla. Para no dar el toston hablaré del más importante de sus metodos y la idea de cómo funciona.
OnCreate: es donde se inicializa la actividad. Se suele llamar setContentView, con un diseño del interfaz de usuario (definido en el xml) de recursos, y la utilización de findViewById para recuperar los widgets en el que la interfaz de usuario que usted necesita para interactuar con programación.
Views
Una visión es un objeto que sabe cómo aparecer en pantalla. Se usa cuando necesitas crear algún gráfico diferente a los que vienen con el SDK.
Intents
Una intención es un mensaje simple objeto que representa una “intención” de hacer algo. Por ejemplo, si su aplicación necesita para mostrar una página web, expresa su “intención” para ver la URI de Intención mediante la creación de una instancia y que la entrega fuera del sistema. El sistema detecta algún otro fragmento de código (en este caso, el navegador) que sabe cómo manejar esa intención, y lo ejecuta. Intenta también se puede utilizar para transmitir eventos interesantes (por ejemplo, una notificación) en todo el sistema.
Services
Un servicio es un conjunto de código que se ejecuta en segundo plano.
Notifications
Una notificación es un pequeño icono que aparece en la barra de estado. Los usuarios pueden interactuar con este icono para recibir información. Los más conocidos son las notificaciones de mensajes SMS, llamadas y correo de voz, pero las aplicaciones pueden crear sus propias.
ContentProviders
Un ContentProvider es un almacén de datos que proporciona acceso a los datos en el dispositivo. La aplicación puede tener acceso a datos de otras aplicaciones que tienen creado su ContentProvider.