Desarrollo de programas para Android de105 millones de teléfonos Android, con un porcentaje del 68% de las ventas de teléfonos inteligentes hasta esa fecha. [7]
1 Herramientas Oficiales 1.1 Android SDK El SDK (Software Development Kit) de Android, incluye un conjunto de herramientas de desarrollo.[9] Comprende un depurador de código, biblioteca, un simulador de teléfono basado en QEMU, documentación, ejemplos de código y tutoriales. Las plataformas de desarrollo soportadas incluyen GNU/Linux, Mac OS X 10.5.8 o posterior, y Windows XP o posterior. Tambien puede utilizarse el propio sistema Android para desarrollos utilizando las aplicaciones AIDE - Android IDE - Java, C++(app) [AIDE - Android IDE - Java, C++] y el editor de Java. La plataforma integral de desarrollo (IDE, Integrated Development Environment) soportada oficialmente es Android Studio junto con el complemento ADT ( Android Development Tools plugin). Además, los programadores pueden usar un editor de texto para escribir ficheros Java y XML y utilizar comandos en un terminal (se necesitan los paquetes JDK, Java Development Kit y Apache Ant) para crear y depurar aplicaciones, así como controlar dispositivos Android que estén conectados ( es decir, reiniciarlos, instalar aplicaciones en remoto, etc.).[10]
El teléfono Nexus 4, parte de la serie Google Nexus, una línea de dispositivos “adecuados para desarrollo” (“developerfriendly”).[1]
Las Actualizaciones del SDK están coordinadas con el desarrollo general de Android. El SDK soporta también versiones antiguas de Android, por si los programadores necesitan instalar aplicaciones en dispositivos ya obsoletos o más antiguos. Las herramientas de desarrollo son componentes descargables, de modo que una vez instalada la última versión, pueden instalarse versiones anteriores y hacer pruebas de compatibilidad.[11]
El Desarrollo de Programas para Android se hace habitualmente con el lenguaje de programación similar a Java[2] y el conjunto de herramientas de desarrollo SDK ( SDK, SoftwareDevelopment Kit ), pero hay otras opciones disponibles. En Julio de 2013 existían más de 1.000.000 de aplicaciones contabilizadas para Android, con aproximadamente 25 mil millones de descargas.[3][4][5] La plataforma Android ha crecido hasta ser una de las preferidas por los desarrolladores para plataformas móviles. Un estudio de junio del 2011 indica que el 67% de los desarrolladores para móviles utilizaban la plataforma, en el momento de su publicación [6] . En el segundo trimestre del 2012, se habían vendido alrededor
Una aplicación Android está compuesta por un conjunto de ficheros empaquetados en formato .apk y guardada en el directorio /data/app del sistema operativo Android (este directorio necesita permisos de superusuario, root, por razones de seguridad). Un paquete APK incluye ficheros .dex [12] (ejecutables Dalvik, un código intermedio compilado), recursos, etc. 1
2
1 HERRAMIENTAS OFICIALES
1.2
Android Debug Bridge - Conector de 1.4 Native development kit - Sistema de Depuración de Android desarrollo nativo
Android Debug Bridge ( Conector o puente para depuración de Android ), ó ADB, es un juego de herramientas incluído en el paquete SDK de Android. Consiste en programas con función tando de cliente, como de servidor, que se comunican entre ellos. El uso normal del ADB se realiza desde la línea de comandos[13] , aunque existen numeroso interfaces gráficos para controlarlo.
El NDK permite instalar bibliotecas escritas en C, C++ y otros lenguajes, una vez compiladas para ARM, MIPS o código nativo x86. Los programas Java corriendo en la máquina virtual Dalvik ( Dalvik VM ) pueden llamar a clases nativas por medio de la función System.loadLibrary, que forma parte de las clases estándares Java en Android[16][17] .
La forma de enviar comandos por medio del ADB es nor- Se pueden compilar e instalar aplicaciones completas utimalmente lizando las herramientas de desarrollo tradicionales [18] . Sin embargo, según la documentación de Android, NDK adb [-d|-e|-s ] no debe utilizarse para desarrollo, simplemente porque En un problema de seguridad, publicado en Marzo del el programador prefiera programar en C/C++, ya que la 2011, ADB fué utilizado como un vector para tratar de utilización del NDK aumenta la complejidad sin que la instalar programas como superusuario (root) en teléfonos mayor parte de las aplicaciones obtengan ningún beneficonectados, por medio de un ataque de saturación de re- cio por ello[19] . cursos ('resource exhaustion attack')[14] . El depurador ADB proporciona un shell root en el Simulador de Android que permite cargar y ejecutar código nativo ARM, MIPS o x86. Este código puede compilarse 1.3 Fastboot - Arranque rápido con GCC, o el compilador C++ de Intel en un ordenador personal normal[20] . La ejecución de código nativo es diFastboot es un protocolo de diagnóstico incluido en el fícil porque Android utiliza una biblioteca de C propia SDK cuya función principal consiste en modificar el (libc, llamada Bionic). La biblioteca gráfica que utiliza sistema de ficheros flash mediante una conexión USB des- Android para controlar el acceso a este dispositivo se llade un ordenador. Para ello el dispositivo ha de arrancarse ma Skia Graphics Library (SGL), disponible con licenen modo boot loader ( carga de inicio) o modo Second cia de código abierto[21] . Skia tiene implementaciones en Program Loader ( segundo cargador de programa ) don- win32 y Unix, permitiendo el desarrollo multiplataforma de sólo se realiza una inicialización de hardware básica. de aplicaciones, y es el motor de gráficos que soporta al Después de habilitar el protocolo en el dispositivo, es- navegador web Google Chrome[22] . te acepta un juego específico de instrucciones que recibe por medio de la conexión USB utilizando la línea de co- NDK está basado en la línea de comandos, y al contrario que el desarrollo con Eclipse, requiere la invocación mandos. Algunos de los comandos mas usados son: manual de comandos para construir, cargar y depurar las aplicaciones. Hay herramientas de terceros que integran • flash – reescribe una partición con una imagen bina- el NDK con Eclipse[23] y Visual Studio[24] . ria almacenada en el ordenador. • erase – borra una partición específica.
1.5 Android Open Accessory Development Kit • reboot – reinicia el dispositivo con el sistema principal, la partición de La plataforma Android 3.1 ( también actualizada en la plataforma Android 2.3.4 ) introduce soporte para Anrecuperación del sistema o de vuelta al bootloader. droid Open Accessory, que permiete que equipos USB externos ( y Android USB Accesory ) puedan interactuar • devices – muestra una lista de dispositivos ( con su con dispositivos Android en un modo especial llamado “accessory” (accesorio). Cuando un dispositivo Android número de serie) conectados está en modo “accessory”, el accesorio conectado actúa como un centro (host) USB ( proporciona potencia al bus al ordenador. y ennumera los dispositivos ) mientras que el dispositivo Android funciona como un dispositivo USB. Los accesorios Android USB están diseñados específicamente pa• format – formatea una partición específica. El sistera unirse a dispositivos Android mediante un protocolo ma de ficheros de la sencillo ( protocolo “Android accessory”) que les permite detectar a los dispositivos Android compatibles con este partición tiene que ser compatible con el dispositivo. modo[25] .
2.4
Basic4android
2
Herramientas de desarrollo de terceros
2.1
Android APIMiner
3 MIT se ocupa de su mantenimiento.[cita requerida]
2.4 Basic4android
Android APIMiner es una plataforma que complementa automáticamente la documentación Javadoc con ejemplos de uso, extraídos de aplicaciones Android de código abierto[26] . Para mejorar la calidad de los ejemplos, APIMiner utiliza un algoritmo de rebanamiento estático dentro de los procedimientos.
Basic4android es un producto comercial similar a Simple[37] . Está inspirado en Microsoft Visual Basic 6 y Microsoft Visual Studio. Hace la programación Android mucho más sencilla para programadores habituales de Visual Basic que encuentran dificultades en el uso de Java. Basic4android cuenta con una fuerte y activa comunidad online de desarrolladores.
2.2
2.5 HyperNext Android Creator
AndroWish
AndroWish e un intérprete de Tcl/Tk en el dispositivo, que proporciona un interfaz gráfico (GUI) multiventana, y acceso a Bluetooth, USB, network sockets, text-tospeech, speech recognition, sensores, localización (GPS o información de la red), gestor de actividad (“activity manager”), SQLite y sonido. La capa GUI está basada en SDL2. AndroWish se incluye con 337 paquetes Tcl[27] .
2.3
App Inventor for Android
El 12 de Julio de 2010 Google anunció la disponibilidad de App Inventor para Android, un entorno de desarrollo visual, basad en Web, para programadores principiantes, basado en la librería Java Open Blocks del MIT y proporcionando acceso, en los dispositivos Android, al GPS, datos de orientación y acelerómetro, funciones del teléfono, mensajes de texto, conversión voz a texto, datos de contacto, almacenamiento permanente y servicios Web, incluyendo inicialmenta Amazon y Twitter[28] . [[Hal Abelson]], director de proyecto en el MIT, dijo: “Sólo hemos podido hacerlo porque la arquitectura Android es tan abierta”[29] . Después de un año de desarrollo[30] , la herramienta de edición de bloques se ha utilizado para enseñanza a principiantes en ciencias de computación en Harvard, MIT, Wellesley, Trinity College (Hartford) y en la Universidad de San Francisco, donde el profesor David Wolber, desarrolló un curso de introducción a la ciencia de los ordenadores y un libro de enseñanza para estudiantes que no estudian computación, basado en App Inventor para Android[31][32] .
HyperNext Android Creator (HAC) es un sistema de desarrollo de programas dirigido a programadores que empiezan, permitiéndoles crear sus propias aplicaciones sin necesitar conocimientos de Java y del SDK de Android. Está basado en HyperCard, que gestiona el software como una pila de tarjetas en la que sólo una de ellas es visible en un momento dado y por tanto encaja bien en aplicaciones para teléfonos móviles, con una sola ventana disponible a la vez. El lenguaje principal de desallollo se llama simplemente HyperNext y está relacionado con el lenguaje de HyperCards HyperTalk. HyperNext es un intérprete de un lenguaje similar al Inglés y tiene muchas funciones para crear aplicaciones Android. Soporta un subconjunto creciente del SDK de Android incluyendo sus propias vesiones de controles gráficos de interfaz de usuario ( GUIs ) y ejecuta autómaticamente su propio servicio, de forma que las aplicaciones pueden continuar ejecutándose y procesando información, sin estar en el frontal del usuario.
2.6 Kivy Kivy es una librería Python de código abierto, para desarrollar programas multitáctil con un interfaz natural de usuario (NUI, natural user interface) para una amplia gama de dispositivos. Kivy da la posibilidad de mantener una sóla aplicación para numerosos sistemas operativos (“programar una vez, ejecutar en todas partes”). Kivy tiene una herramienta incorporada para distribuir aplicaciones móviles llamada Buildozer, sólo disponible en Linux. Buildozer está todavía en fase alpha, pero es mucho más sencilla que los sistemas de instalación anteriores de Kivy. Las aplicaciones programadas con Kivy pueden enviarse a la plataforma de distribución de aplicaciones móviles de Android.
En la segunda mitad de 2011, Google liberó el código fuente, terminó su servicio Web, y proporcionó fondos para la creación en el MIT del “Center for Mobile Learning” ( Centro de Aprendizaje para Móviles ) dirigido por el creador de App Inventor Hal Abelson y los compañeros y profesores del MIT Eric Klopfer y Mitchel Resnick[33][34] . La última versión creada como resultado de la colaboración entre el MIT y Google fué liberada en 2.7 Processing Febrero del 2012[35] , y la primera versión exclusiva del MIT en Marzo del mismo año actualizada en App Inven- El entorno Processing, que también utiliza el lenguaje Jator 2 en Diciembre del 2013[36] . Actualmente (2014) el va, ha soportado un modo Android desde la versión 1,5.
4
3
EL CONCURSO DE DESARROLLO ANDROID
Puede integrarse con la cámara y los sensores del dispo- 2.12 SDL sitivo utilizando la librería Ketai. La librería SDL ofrece también una opción de desarrollo, al lado de Java, permitiendo desarrollar en C y portar de una forma sencilla aplicaciones nativas existentes SDL y 2.8 Qt para Android C. Mediante la inyección de una pequeña librería Java (shim) y de JNI[43] , puede utilizarse código SDL nativo, Qt para Android permite a las aplicaciones Qt 5 funcio- permitiendo portabilidad a Android como por ejemplo el nar en dispositivos Android V2.3.3 ( nivel de API 10) o vídeo juego Jagged Alliance 2[44] . posteriores[38] . Qt es una infraestructura multiplataforma para aplicaciones que puede abarcar a Android, Linux, iOS, Sailfish OS y Windows. El desarrollo de aplicacio- 2.13 El proyecto Simple nes Qt se hace en C++ standard y JavaScript. El desarrollo de aplicaciones en Qt necesita de Android NDK y El objetivo de Simple es ser un lenguaje fácil de aprenJDK[39] . Qt Creator es el entorno de desarrollo integra- der para la plataforma Android[45] . Simple es un dialecto do proporcionado por Qt para desarrollo de aplicaciones de BASIC para Android. Sirve tanto para programadores multiplataforma. profesionales como aficionados permitiendo escribir rápidamente aplicaciones que utilizan los componentes de ejecución de Android.
2.9
RFO Basic!
Parecido a Visual Basic 6 de Microsoft, los programas Simple consisten en definiciones de formularios ( que contienen componentes ) y código ( con la lógica del programa ). La interacción entre ellos se hace por médio de eventos lanzados por los componentes. La lógica del programa consiste en gestores de eventos, que ejecutan código dependiendo del evento.
RFO Basic ( un dialecto del Basic Dartmouth) es un intérprete libre en el dispositivo, que proporciona acceso a hardware, sensores, sonido, gráficos, multitactil, sistema de ficheros, SQLite, network sockets, FTP, HTTP, Bluetooth, HTML ÇGUI, encryption, SMS, teléfono, correo, texto a voz, reconocimiento de voz, GPS, funciones mate[46] máticas, funciones de cadenas de caracteres, listas y otras El proyecto Simple no tiene mucha actividad . La últiutilidades esenciales. Es un proyecto de código abierto ma actualización de código se realizó en agosto de 2009. que produce ficheros apk de Android independientes[40] . El desarrollo de RFO Basic está activo y tiene una fuerte 2.14 WinDev Mobile comunidad en línea de desarrolladores.
WinDev Mobile es un entorno de desarrollo propietario, creado por PC SOFT y utilizado para crear interfaces de 2.10 RubyMotion usuario gráficos en apliaciones para teléfonos inteligentes y tabletas ( incluyendo Android ). Utiliza WLanguage coRubyMotion es una herramienta para desarrollar aplica- mo lenguaje de programación, disponible en inglés, franciones móviles en Ruby. En la versión 3.0, soporta An- cés y chino. droid. Las aplicaciones RubyMotion pueden interactuar con el juego completo de Java Android APIs de Ruby, utilizar librerías Java de terceros y están compiladas es- 3 El Concurso de Desarrollo Antáticamente en el código máquina[41] .
droid
2.11 Saphir
El Concurso de Desarrollo Android (ADC Android Developer Challenge ) fue una competición a la aplicación más innovadora para Android. Google ofreció premios por valor de 10 millones de dólares, distribuidos en dos fases ADC 1 y ADC 2. ADC 1 aceptaba subscripciones entre el 2 de enero y el 14 de abril de 2008. Las 50 aplicaciones más prometedoras, seleccionadas el 12 de mayo del 2008, recibieron 25.000 dólares para soporte a su desarrollo. A principios de septiembre diez equipos recibieron 275.000 dólares, y otros diez, 100.000 dólares.
Saphir es una rama del intérprete de código abierto Rebol 3 (R3)[42] . Toda la funcionalidad de R3, incluyendo el interfaz gráfico, gráficos, acceso a red, acceso a ficheros, análisis sintáctico, y otras funciones principales son portables entre Android, Windows, Mac y Linux, sin cambios en el código fuente. Saphir utiliza plantillas de “concise dialect” (DSL) para construir interfaces gráficos de usuario y realizar operaciones comunes, usando una sintáxis breve y legible. El pequeño tamaño del intérprete ( ADC II empezó el 27 de mayo de 2009. La primera ron0,5 - 1,5 megabytes ) complementa el diseño utilitario de da concluyó el 6 de octubre. Los ganadores, 200 aplicaSaphir. ciones, se publicaron el 5 de noviembre. La votación de
5 la segunda ronda empezó ese mismo día y acabó el 25 mercado de empresas como Myriad Group y UpOnTek de noviembre. Google publicó los ganadores el 30, con que dan un servicio de conversión entre J2ME y Android. SweetDreams, What the Doodle!? y WaveSecure como los ganadores totales del concurso.
6 Historia 4
Firmware de Comunidad
Hay una comunidad de apoyo al código abierto que construye y comparte firmware basado en Android con modificaciones y funciones adicionales, por ejemplo, soporte para audio FLAC y la capacidad de guardar aplicaciones en la tarjeta microSD. Normalmente, esto implica acceso como superusuario al dispositivo (“rooting”). “Rooting” permite al superusuario acceder al sistema operativo con un control completo del teléfono. “Rooting” también tiene el inconvenientes, al aumentar el peligro de intrusiones de software maligno, pérdida de garantía del dispositivo, altas posibilidades de inutilizarlo, peligro de virus, etc. Sin embargo hacer “Rooting” permite instalar firmwares adaptados, aunque hay que desbloquear también el cargador de arranque (bootloader) del dispositivo. Sistemas modificados permiten a los usuarios de teléfonos antiguos utilizar aplicaciones sólo disponibles en versiones nuevas. Los paquetes de firmware se actualizan con frecuencia, incorporan funciones a Android que no se distribuyen oficialmente dentro del firmware autorizado por un operador, y suelen tener menos limitaciones. Como ejemplo están CyanogenMod y OMFGB. El 24 de septiembre de 2009, Google envió una carta solicitando el cese de estas actividades a Cyanogen, mencionando problemas con la redistribución de aplicaciones Google con código cerrado en el firmware modificado. Aunque la mayor parte del S.O. Android es código abierto, los teléfonos incorporan código propietario de Google para aplicaciones como Android Market y navegación GPS. Google ha declarado que estas aplicaciones sólo pueden distribuirse a través de canales de distribución aprobados con su correspondiente licencia. Cyanogen ha cumplido los deseos de Google y continúa distribuyendo sus modificaciones sin código propietario, proporcionando un método para copiar las aplicaciones con licencia Google durante la instalación y recuperarlas al finalizar la misma.
Early Android device.
La Open Handset Alliance, liderada por Google, es la creadora de Android. Los primeros informes de desarrollo de aplicaciones para la plataforma Android era confusa. Entre los temas expuestos se incluían errores, falta de documentación, infraestructura de control de calidad inadecuada, inexistencia de un sistema de seguimiento de problemas. ( Google anunció un sistema de seguimiento de incidencias el 18 de enero de 2008 ). En diembre del 2007, Adam MacBeth, fundador de MergeLab mobile, expresó “No hay funcionalidad, está mal documentada o no funciona... desde luego no está lista para el lanzamiento”. A pesar de todo, las aplicaciones dirigidas a Android empezaron aparecer a la semana siguiente de su aparición. La primera aplicación publicada fue el juego de la serpiente. El Teléfono de Desarrollo Android es un dispositivo con el SIM y el hardware desbloqueados, orienta5 Estándares de Java do a desarrolladores avanzados. Así como pueden usarse Android no utiliza los estándares establecidos de Java, i.e. dispositivos de consumo normales para probar y utilizar Java SE y ME, lo cual es un problema para el desarro- aplicaciones, algunos programadores prefieren dispositillo. Esto impide la compatibilidad entre aplicaciones Ja- vos desbloqueados y sin contrato. va escritas para otras plataformas. Android sólo utiliza la El 12 de noviembre de 2007 se lanzó una versión de pruesintáxis y la semántica de Java, pero no incorpora en su ba de Android SDK. El 15 de julio de 2008, El equipo del totalidad las bibliotecas de clases de Java y APIs ( Ap- Concurso de Desarrollo Android envió accidentalmente plication Programming Interface ) que acompañan a Java un correo electrónico a todos los participantes anuncianSE o ME. Sin embargo, hay diversas herramientas en el do una nueva versión de SDK en el área restringida de
6
7
REFERENCIAS
descargas. El correo debía dirigirse únicamente a los ga- [15] «Android NDK | Android Developers». Developer.android.com. 13 de noviembre de 2012. Consultado nadores de la primera ronda. El hecho de que Google proel 13 de marzo de 2014. porcionara una nueva versión de SDK a unos desarrolladores y no a otros, mediante una acuerdo privado, originó [16] Srinivas, Davanum (9 de diciembre de 2007). «Android un gran descontento en la comunidad de desarrolladores — Invoke JNI based methods (Bridging C/C++ and Jade Android. va)». Archivado desde el original el 16 de diciembre de 2008. Consultado el 13 de diciembre de 2008. El 19 de agosto apareció la versión Beta de Android 0.9 SDK. Proporcionaba una API mejorada extendida, me- [17] «java.lang.System». Android Developers. Consultado el 3 joras en la herramientas y un diseño actualizado de la de septiembre de 2009. pantalla principal. Hay instrucciones detalladas de actualización para aquellos que todavía utilicen versiones an- [18] Leslie, Ben (13 de noviembre de 2007). «Native C application for Android». Benno’s blog. Archivado desde el teriores. Android 1.0 SDK ( versión 1) aparece el 23 de original el 13 de septiembre de 2009. Consultado el 4 de septiembre del 2008. Según las notas de la versión, inseptiembre de 2009. cluía fundamentalmente correcciones de errores, aunque incorporaba pequeñas novedades. Incluso incluía varios [19] «Android NDK | Android Developers». Develocambios en el API sobre la versión 0.9. Desde esa fecha, per.android.com. 13 de noviembre de 2012. Consultado el 17 de junio de 2014. se han distribuido múltiples versiones.
7
Referencias
[1] Syed H (24 de septiembre de 2012). «Editorial: Why You Should Go Nexus». Droid Lessons. Consultado el 17 de abril de 2013. [2] Seth Rosenblatt (9 de mayo de 2014). «Court sides with Oracle over Android in Java patent appeal». CNet. Consultado el 5 de enero de 2014.
[20] «Intel C++ Compiler 14.0 for Android». Software.intel.com. Consultado el 17 de junio de 2014. [21] «Skia source». [22] Toker, Alp (6 de septiembre de 2008). «Skia graphics library in Chrome: First impressions». Archivado desde el original el 16 de diciembre de 2008. Consultado el 13 de diciembre de 2008. [23] «Using Eclipse for Android C/C++ Development».
[3] Google Play REaches 1 Million apps
[24] «Tutorial: Android Native Development with Visual Studio».
[4] «Android App Stats». Archivado desde el original el 2 de enero de 2011. Consultado el 31 de diciembre de 2010.
[25] «Accessory Development Kit | Android Developers». Developer.android.com. Consultado el 2 de octubre de 2012.
[5] Leena Rao (14 de abril de 2011). «Google: 3 Billion Android Apps Installed; Downloads Up 50 Percent From Last Quarter». Techcrunch. Archivado desde el original el 25 de abril de 2011. Consultado el 13 de mayo de 2011.
[26] «Android APIMiner».
[6] «Developer Economics 2011».
[28] Claburn, Thomas (12 de julio de 2010). «Google App Inventor Simplifies Android Programming». Information Week. Archivado desde el original el 15 de julio de 2010. Consultado el 12 de julio de 2010.
[7] Android and iOS Surge to New Smartphone OS Record in Second Quarter, According to IDC [8] «SDK Tools | Android Developers». Developer.android.com. Consultado el 8 de noviembre de 2014. [9] «Tools Overview». Android Developers. 21 de julio de 2009. [10] Westfall, Jon (25 de agosto de 2009). «Backup & Restore Android Apps Using ADB». JonWestfall.com. Consultado el 7 de Diciembre, 2009. [11] «SDK Tools». [12] «Android SDK Glossary». [13] “Android Debug Bridge | Android Developers” Accessed December 27, 2012 [14] Lemos, Robert “Open source vulnerabilities paint a target on Android” March 25, 2011, accessed December 27, 2012
[27] «AndroWish». tcl.tk. 21 de junio de 2014. Consultado el 3 de julio de 2014.
[29] Lohr, Steve (11 de julio de 2010). «Google’s Do-ItYourself App Creation Software». New York Times. Archivado desde el original el 13 de julio de 2010. Consultado el 12 de julio de 2010. [30] Abelson, Hal (31 de julio de 2009). «App Inventor for Android». Google Research Blog. Archivado desde el original el 7 de agosto de 2010. Consultado el 12 de julio de 2010. [31] Kim, Ryan (11 de diciembre de 2009). «Google brings app-making to the masses». San Francisco Chronicle. Archivado desde el original el 17 de julio de 2010. Consultado el 12 de julio de 2010. [32] Wolber, David. «AppInventor.org». Archivado desde el original el 15 de julio de 2010. Consultado el 12 de julio de 2010. [33] «App Inventor @ MIT».
7
[34] «MIT Launches New Center for Mobile Learning». 16 de agosto de 2011. [35] Clark,first=Andrew (30 de diciembre de 2013). «App Inventor launches second iteration». [36] «App Inventor Classic | Explore MIT App Inventor». Appinventor.mit.edu. 3 de diciembre de 2013. Consultado el 13 de marzo de 2014. [37] «Basic4android». [38] «Qt for Android». [39] «Qt Wiki : Android». [40] «rfobasic». [41] «http://www.rubymotion.com/news/2014/12/11/ announcing-rubymotion-3.html». [42] «R3». [43] «Simple DirectMedia Layer for Android». sdl.org. 12 de agosto de 2012. Consultado el 9 de septiembre de 2012. «Como se porta una aplicación, - Las aplicaciones Android están basadas en Java, con partes escritas en C en ocasiones, - Como las apps en SDL son C, usamos un pequeño shim Java que utiliza el JNI para hablar con la librería SDL, - Esto implica que el código C el la aplicación ha de incluirse en el proyecto android en Java, junto con un códico en C de soporte que comunica con Java, - Esto produce finalmente un paquete Android estándar .apk». [44] JA2 Stracciatella Feedback » Jagged Alliance 2 Android Stracciatella Port RC2 Release - please test on the Bear’s Pit Forum, October 3, 2011 [45] «Android Simple». [46] «Source Code Changes List».
8
Bibliografía • Burnette, Ed (13 de julio de 2010). Hello, Android: Introducing Google’s Mobile Development Platform (3ª edición). Pragmatic Bookshelf. ISBN 9781934356562. • Ableson, Frank; Sen, Robi; King, Chris (enero 2011). Android in Action, Second Edition (2ª edición). Manning. ISBN 9781935182726. • Conder, Shane; Darcey, Lauren (7 de septiembre de 2009). Android Wireless Application Development (1ª edición). Addison-Wesley Professional. ISBN 0321627091. • Murphy, Mark (16 de junio de 2009). Beginning Android (1ª edición). Apress. ISBN 1430224193. • Meier, Reto (marzo 2010). Professional Android 2 Application Development (1ª edición). Wrox Press. ISBN 9780470565520. • Haseman, Chris (21 de julio de 2008). Android Essentials (1st edición). Apress. ISBN 1430210648.
9 Enlaces externos • Programar para Android • Android Developers • Android Training • Android Developers Blog • Android training courses • Google Projects for Android from Google Code • Diagram of Android internals • Página web de Appcelerator Titanium • Hypertext map of Android API classes • JavocSoft - Blog • Esta obra deriva de la traducción de Android software development de Wikipedia en inglés, concretamente de esta versión, publicada por sus editores bajo la Licencia de documentación libre de GNU y la Licencia Creative Commons AtribuciónCompartirIgual 3.0 Unported.
8
10 TEXTO E IMÁGENES DE ORIGEN, COLABORADORES Y LICENCIAS
10 10.1
Texto e imágenes de origen, colaboradores y licencias Texto
• Desarrollo de programas para Android Fuente: https://es.wikipedia.org/wiki/Desarrollo_de_programas_para_Android?oldid= 85051323 Colaboradores: Petronas, Taichi, BOT-Superzerocool, CEM-bot, Jorgelrm, Rosarinagazo, Bigsus-bot, Panypeces, Wikimont, Zilgs, Edgardo C, PatruBOT, ZéroBot, J. A. Gélvez, Miguillen-bot, Albertojuanse, Waka Waka, JESSIP, Andrewfelo, Invadibot, Aeterna~eswiki, Aeterna2, Addbot, JavocSoft, Jarould, BenjaBot, AeternaEn y Anónimos: 20
10.2
Imágenes
• Archivo:Android_mobile_phone_platform_early_device.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/5/51/ Android_mobile_phone_platform_early_device.jpg Licencia: CC BY 2.0 Colaboradores: Android uploaded by Kozuch Artista original: Kai Hendry from London, UK • Archivo:Nexus_4.png Fuente: https://upload.wikimedia.org/wikipedia/commons/7/7d/Nexus_4.png Licencia: CC BY 2.5 Colaboradores: http://developer.android.com/distribute/promote/device-art.html, combined with personal screenshot of a Nexus 4 on Android 4.4.2 KitKat. Artista original: developer.android.com
10.3
Licencia de contenido
• Creative Commons Attribution-Share Alike 3.0