Historia Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en 2005. Es el principal producto de la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio. Al principio Android era un sistema operativo para móviles prácticamente desconocido. Hasta noviembre de 2007 sólo hubo rumores, pero en esa fecha se lanzó la Open Handset Alliance, que agrupaba a muchos fabricantes de teléfonos móviles, chipsets y Google y se proporcionó la primera versión de Android, junto con el SDK para que los programadores empezaran a crear sus aplicaciones para este sistema. Aunque los inicios fueran un poco lentos, debido a que se lanzó antes el sistema operativo que el primer móvil, rápidamente se ha colocado como el sistema operativo de móviles más vendido del mundo, situación que se alcanzó en el último trimestre de 2010. En febrero de 2011 se anunció la versión 3.0 de Android, llamada con nombre en clave Honeycomb, que está optimizado para tabletas en lugar de teléfonos móviles. Por tanto Android ha transcendido los teléfonos móviles para trascender a dispositivos más grandes. Originalmente diseñado para arquitectura ARM, actualmente hay ports no oficiales tanto para x86 como para MIPS. El código fuente se encuentra disponible bajo licencias de software libre (Apache o GNU General Public License versión 2). El mismo es generalmente liberado luego de cada nueva versión. ¿Qué es Android? Android es un sistema operativo basado en Linux diseñado originalmente para dispositivos móviles, tales como teléfonos inteligentes, pero que posteriormente se expandió su desarrollo para soportar otros dispositivos tales como tablets, reproductores MP3, notebooks, PCs e incluso televisores. El sistema permite programar aplicaciones en una variación de Java llamada Dalvik. El sistema operativo proporciona todas las interfaces necesarias para desarrollar aplicaciones que accedan a las funciones del teléfono (como el GPS, las llamadas, la agenda, etc.) de una forma muy sencilla en un lenguaje de programación muy conocido como es Java.
Características Diseño de dispositivo
Conectividad
Mensajería
Navegador web
Soporte de Java
Soporte multimedia
Soporte para La plataforma es adaptable a pantallas de mayor resolución, VGA, biblioteca de gráficos 2D, biblioteca de gráficos 3D basada en las especificaciones de la OpenGL ES 2.0 y diseño de teléfonos tradicionales.
SQLite, una base de datos liviana, que es usada para propósitos de almacenamiento de datos.
Android soporta las siguientes tecnologías de conectividad: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, HSDPA, HSPA+, NFC y WiMAX.GPRS,UMTS,HSPA+ Y HSDPA+
SMS y MMS son formas de mensajería, incluyendo mensajería de texto y ahora la Android Cloud to Device Messaging Framework (C2DM) es parte del servicio de Push Messaging de Android.
El navegador web incluido en Android está basado en el motor de renderizado de código abierto WebKit, emparejado con el motor JavaScript V8 de Google Chrome. El navegador por defecto de Ice Cream Sandwich obtiene una puntuación de 100/100 en el test Acid3.
Aunque la mayoría de las aplicaciones están escritas en Java, no hay una máquina virtual Java en la plataforma. El bytecode Java no es ejecutado, sino que primero se compila en un ejecutable Dalvik y corre en la Máquina Virtual Dalvik. Dalvik es una máquina virtual especializada, diseñada específicamente para Android y optimizada para dipositivos móviles que funcionan con batería y que tienen memoria y procesador limitados. El soporte para J2ME puede ser agregado mediante aplicaciones de terceros como el J2ME MIDP Runner.[44]
Android soporta los siguientes formatos multimedia: WebM, H.263, H.264 (en 3GP o MP4), MPEG-4 SP, AMR, AMR-WB (en un contenedor 3GP), AAC, HE-AAC (en contenedores MP4 o 3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF y BMP.[43]
Streaming RTP/RTSP (3GPP PSS, ISMA), descarga progresiva de HTML (HTML5
streaming
Soporte para hardware adicional
Entorno de desarrollo
Google Play
Multi-táctil
Bluetooth
Videollamada
Multitarea < video > tag). Adobe Flash Streaming (RTMP) es soportado mediante el Adobe Flash Player. Se planea el soporte de Microsoft Smooth Streaming con el port de Silverlight a Android. Adobe Flash HTTP Dynamic Streaming estará disponible mediante una actualización de Adobe Flash Player.
Android soporta cámaras de fotos, de vídeo, pantallas táctiles, GPS, acelerómetros, giroscopios, magnetómetros, sensores de proximidad y de presión, sensores de luz, gamepad, termómetro, aceleración por GPU 2D y 3D.
Incluye un emulador de dispositivos, herramientas para depuración de memoria y análisis del rendimiento del software. El entorno de desarrollo integrado es Eclipse (actualmente 3.4, 3.5 o 3.6) usando el plugin de Herramientas de Desarrollo de Android.
Google Play es un catálogo de aplicaciones gratuitas o de pago en el que pueden ser descargadas e instaladas en dispositivos Android sin la necesidad de un PC.
Android tiene soporte nativo para pantallas capacitivas con soporte multi-táctil que inicialmente hicieron su aparición en dispositivos como el HTC Hero. La funcionalidad fue originalmente desactivada a nivel de kernel (posiblemente para evitar infringir patentes de otras compañías).[45] Más tarde, Google publicó una actualización para el Nexus One y el Motorola Droid que activa el soporte multi- táctil de forma nativa.[46]
El soporte para A2DF y AVRCP fue agregado en la versión 1.5;[47] el envío de archivos (OPP) y la exploración del directorio telefónico fueron agregados en la versión 2.0;[48] y el marcado por voz junto con el envío de contactos entre teléfonos lo fueron en la versión 2.2. Los cambios incluyeron:[49]
Android soporta videollamada a través de Google Talk desde su versión HoneyComb.
Multitarea real de aplicaciones está disponible, es decir, las aplicaciones que no estén ejecutándose en primer plano reciben ciclos de reloj.
? ? ? ? Características basadas en voz
Tethering La búsqueda en Google a través de voz está disponible como "Entrada de Búsqueda" desde la versión inicial del sistema.[50]
Android soporta tethering, que permite al teléfono ser usado como un punto de acceso alámbrico o inalámbrico (todos los teléfonos desde la versión 2.2, no oficial en teléfonos con versión 1.6 o inferiores mediante aplicaciones disponibles en Google Play (por ejemplo PdaNet). Para permitir a un PC usar la conexión de datos del móvil android se podría requerir la instalación de software adicional.[
Arquitectura
Los componentes principales del sistema operativo de Android (cada sección se describe en detalle):
Aplicaciones: las aplicaciones base incluyen un cliente de correo electrónico, programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones están escritas en lenguaje de programación Java.
Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura está diseñada para simplificar la reutilización de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.
Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por varios componentes del sistema. Estas características se exponen a los desarrolladores a través del marco de trabajo de aplicaciones de Android; algunas son: System C library (implementación biblioteca C estándar), bibliotecas de medios, bibliotecas de gráficos, 3D y SQLite, entre otras.
Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base
? del lenguaje Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual está optimizado para memoria mínima. La Máquina Virtual está basada en registros y corre clases compiladas por el compilador de Java que han sido transformadas al formato.dex por la herramienta incluida "dx". Núcleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de software. Libertad Una de las mejores características de este sistema operativo es que es completamente libre. Es decir, ni para programar en este sistema ni para incluirlo en un teléfono hay que pagar nada. Y esto lo hace muy popular entre fabricantes y desarrolladores, ya que los costes para lanzar un teléfono o una aplicación son muy bajos. Cualquiera puede bajarse el código fuente, inspeccionarlo, compilarlo e incluso cambiarlo. Esto da una seguridad a los usuarios, ya que algo que es abierto permite detectar fallos más rápidamente. Y también a los fabricantes, pues pueden adaptar mejor el sistema operativo a los terminales.
? ? ? Aplicaciones Android Las aplicaciones se desarrollan habitualmente en el lenguaje Java con Android Software Development Kit (Android SDK), pero están disponibles otras herramientas de desarrollo, incluyendo un Kit de Desarrollo Nativo para aplicaciones o extensiones en C o C++, Google App Inventor, un entorno visual para programadores novatos y varios marcos de aplicaciones basadas en la web multiteléfono. También es posible usar las bibliotecas Qt gracias al proyecto Necesitas SDK. El desarrollo de aplicaciones para Android no requiere aprender lenguajes complejos de programación. Todo lo que se necesita es un conocimiento aceptable de Java y estar en posesión del kit de desarrollo de software o «SDK» provisto por Google el cual se puede descargar gratuitamente. Todas las aplicaciones están comprimidas en formato APK, que se pueden instalar sin dificultad desde cualquier explorador de archivos en la mayoría de dispositivos. Las aplicaciones Android se caracterizan por: Múltiples aplicaciones, se pueden ejecutar simultáneamente. El usuario puede cambiar de aplicaciones cuando lo desee. Servicios del sistema operativo.
? INSTALACION
Descargar e instalar los programas siguientes ? ? ? Eclipse SDK Emulador Para poder usar el emulador tendremos que descargarnos de Google un conjunto de herramientas, el SDK. Hay diferentes versiones para cada sistema operativo, todos tienen un archivo comprimido que dentro tiene todo lo necesario y Windows tiene un ejecutable.
El SDK se puede manejar de la siguiente manera
Agregando Android SDK desde eclipse
APLICACIÓN DE VISOR DE IMÁGENES Creamos un nuevo proyecto tipo Android Proyect. Escribimos el nombre nuestro proyecto el target deseado. Como se muestra en las siguientes imágenes:
Se elige un diseño para nuestra aplicación, damos clic en siguiente y clic en el botón finalizar, como se muestra a continuación en la imagen: Empezar a crear el diseño de nuestra aplicación es la siguiente:
Para crear la aplicación se siguientes carpetas: utilizó imágenes las cuales, están guardadas en las Para el desarrollo de la aplicación se utilizaron , , ,. Código completo:
< ImageView android:layout_width="150dp"
android:layout_height="150dp" android:src="@drawable/otono" android:layout_gravity="center_horizontal" android:id="@+id/viImagen7" android:padding="20dp"/>
En la Carpeta/src contiene todo el código de la interfaz grafica, clases auxiliares, etc. Inicialmente, Eclipse creara por nosotros el código básico (Activity) principal de la aplicación, siempre bajo la estructura del paquete java definido.
Se programara la parte lógica del programa, todo esto se hará en la clase MainActivity como se muestra en las imágenes siguientes:
Código completo en la parte lógica del programa: package com.example.imagenesdelvisor; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.content.DialogInterface; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.Switch; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { ImageView Imagen1,Imagen2,Imagen3,Imagen4,Imagen5,Imagen6,Imagen7; TextView Resultado; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Imagen1 = (ImageView)findViewById(R.id.viImagen1); Imagen2 = (ImageView)findViewById(R.id.viImagen2); Imagen3 = (ImageView)findViewById(R.id.viImagen3); Imagen4 = (ImageView)findViewById(R.id.viImagen4); Imagen5 = (ImageView)findViewById(R.id.viImagen5); Imagen6 = (ImageView)findViewById(R.id.viImagen6); Imagen7 = (ImageView)findViewById(R.id.viImagen7); Resultado=(TextView)findViewById(R.id.textView1); Imagen1.setOnClickListener(this);//agrego la escuchadores Imagen2.setOnClickListener(this); Imagen3.setOnClickListener(this); Imagen4.setOnClickListener(this); Imagen5.setOnClickListener(this); Imagen6.setOnClickListener(this); Imagen7.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()){
case R.id.viImagen2: Imagen1.setImageResource(R.drawable.bosque); Resultado.setText("imagen 1"); break; case R.id.viImagen3: Imagen1.setImageResource(R.drawable.bosque2); Resultado.setText("imagen 2"); break; case R.id.viImagen4: Imagen1.setImageResource(R.drawable.imagen); Resultado.setText("imagen 3"); break; case R.id.viImagen5: Imagen1.setImageResource(R.drawable.arbolito3); Resultado.setText("imagen 4"); break; case R.id.viImagen6: Imagen1.setImageResource(R.drawable.paisaje); Resultado.setText("imagen 5"); break; case R.id.viImagen7: Imagen1.setImageResource(R.drawable.otono); Resultado.setText("imagen 6"); break; } } } Se ejecuta el emulador, damos clic en el icono que se muestra a en la imagen, se elige el emulador que queremos, damos clic en start:
A continuación, clic en launch esperáramos a que nuestro emulador ejecute, el proceso tardara:
El emulador tardara algunos minutos, una vez abierto nuestro emulador se recomienda no cerrarlo ya que su ejecución es muy tardada.
Una vez abierto nuestro emulador, en este caso llamamos a nuestro imagen como visor, solo ejecutamos la aplicación. Cuando termina de ejecutar la aplicación se mostrara en el emulador y abrimos la aplicación como se muestra en la siguiente imagen:
Esta aplicación muestra las imágenes al selecciónala y muestra el nombre de la imagen. Ahora solo lo ejecutamos en BlueStacks:
APLICACION REPRODUCTOR MUSICAL MP3 Creamos un nuevo proyecto tipo Android Proyect. Escribimos el nombre nuestro proyecto el target deseado. Como se muestra en las siguientes imágenes:
En la aplicación se eligió un icono diferente: Se elige un diseño para nuestra aplicación, damos clic en siguiente y clic en el botón finalizar, como se muestra a continuación en la imagen:
Empezar a crear el diseño de nuestra aplicación es la siguiente: Para el diseño de la aplicación se utilizaron < Button/> , < TextView/ > como se muestra en las imágenes siguientes:
Código completo del diseño de la aplicación: < AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/LayReproductor" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/ingenieria" > < Button android:id="@+id/btnReproducir" android:layout_width="120dp" android:layout_height="116dp" android:layout_x="136dp" android:layout_y="124dp" android:background="@drawable/botoncache" android:text=" " android:textColorLink="@color/color1" /> < TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_x="5dp" android:layout_y="4dp" android:text="@string/Mensaje" /> < Button android:id="@+id/btnParar" style="@drawable/ic_launcher" android:layout_width="138dp" android:layout_height="123dp" android:layout_x="138dp" android:layout_y="327dp" android:background="@drawable/btnparar" android:text=" " android:textColorLink="@color/colorTexto2" />
Para crear la aplicación se creó una carpeta llamada raw dentro de la carpeta res. En la carpeta raw se copia la canción que nosotros queramos reproducir. Clic en other Seleccionamos la opción que se muestra la imagen y escribimos el nombre de la carpeta que será raw:
Se programara la parte lógica del programa, todo esto se hará en la clase MainActivity como se muestra en las imágenes siguientes: E
En la parte del código se programa que al presionar el botón btnReproducir, se reproduzca la canción, lo que se hace es activa el botón btnReproducir y tener desactivado el botón btnParar.Asi para que cada vez que se presiona el btnParar se active el btnReproducir y viceversa. Código completo de la aplicación Reproductor Musical: package com.reproductormusical; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class Reproductor extends Activity implements OnClickListener { Button botonReproducir, botonParar; MediaPlayer mp; int bandera; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_reproductor); botonReproducir=(Button)findViewById(R.id.btnReproducir); botonParar=(Button)findViewById(R.id.btnParar); botonReproducir.setOnClickListener(this); botonParar.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()){ case R.id.btnReproducir: mp = MediaPlayer.create(this, R.raw.cancion); mp.start(); botonReproducir.setEnabled(false); botonParar.setEnabled(true);
break; case R.id.btnParar: mp.stop(); botonParar.setEnabled(false); botonReproducir.setEnabled(true); break; } } } Se ejecuta el emulador, damos clic en el icono que se muestra a en la imagen, se elige el emulador que queremos, damos clic en start: A continuación, clic en launch esperáramos a que nuestro emulador ejecute, el proceso tardara:
El emulador tardara algunos minutos, una vez abierto nuestro emulador se recomienda no cerrarlo ya que su ejecución es muy tardada.
Una vez abierto nuestro emulador, en este caso llamamos a nuestro emulador como visor, solo ejecutamos la aplicación.
Cuando termina de ejecutar la aplicación se mostrara en el emulador y abrimos la aplicación como se muestra en la siguiente imagen: