Introdución a Android: Versións, APIS e SDK

De MediaWiki
Saltar a: navegación, buscar

Introdución

  • Android é un sistema operativo baseado en Linux.
  • Foi creado pola empresa Android Inc. e no 2005 adquirida por Google.

Características

  • Gráficos: VGA, gráficos 2D/3D, OpenGL
  • Sistema de BBDD: SQLite
  • Conectividade: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, HSDPA, HSPA+, NFC y WiMAX.
  • Navegador web: WebKit
  • Dalvik: é máquina virtual na que se correen as aplicacións Android.
    • Foi especialmente desenvolvida por Google, partindo da MV de Java.
    • Está optimizada para funcionar en dispositivos móbiles con batería.
    • A partires da versión de Android 5.1.1 (LOLLIPOP) cambia e máquina virtual Dalvik por ART (Android Run Time).
  • Formatos multimedia: WebM, H.263, H.264 (en 3GP o MP4), MPEG-4 SP, AMR, AMR-WB (3GP), AAC, HE-AAC (MP4 o 3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, BMP.44 e Adobe Flash Player.
  • Como teléfono ten as funcionalidades propias dun teléfono: Chamadas, SMS, MMS, vídeo chamada.
  • Hardware adicional:
    • Cámaras de fotos, de vídeo
    • Pantallas táctiles,
    • GPS, acelerómetros, xiroscopios, magnetómetros, sensores de proximidad y de presión, sensores de luz, gamepad, termómetro, aceleración por GPU 2D e 3D.
  • Repositorio de aplicacións: Google Play
  • É multitarea e múlti-táctil
  • Tethering: permite que o teléfono poida ser usado coma un AP (Punto de acceso).


Arquitectura

  • A seguinte imaxe amosa a arquitectura de Android:

00 arquitectura.png

  • Esta imaxe foi obtida de: http://columna80.wordpress.com/2011/02/17/arquitectura-de-android/
  • En resumo pódese observar:
    • Kernel de Linux: similar ao de calquera distribución Linux: controladores HW, xestión memoria, CPU e enerxía.
    • Librarías nativas/Bibliotecas: Escritas en C/C++, usadas por varios compoñentes de Android e compiladas en código nativo do procesador e para o hardware específico do dispositivo. (Son as que están en cor verde).
    • Contorno de execución: Apóiase nas librarías anteriores e inclúe a Máquina Virtual na que se van executar as aplicacións: Dalvik.
    • Contorno de aplicación: Proporciona unha plataforma de compoñentes para poder ser usados nas aplicacións: sensores, barra de notificacións, vistas, xestor de teléfono, etc).
    • Aplicacións: conxunto de aplicacións, xeralmente escritas en Java e instaladas nun dispositivo Android. Por exemplo o navegador web, ou a aplicación de xestión de contactos.

Versións e APIS

  • A primeira versión comercial saíu no ano 2008.
  • As versións soen recibir un nome dun postre en inglés.
  • Nesta imaxe podemos ver os nomes das versións de Android.

PDM AndroidStudio Introduccion1.jpg

Imaxe obtida dende http://developer.android.com/intl/es/guide/topics/manifest/uses-sdk-element.html


  • Cada versión de Android ten asociada unha API para os desenvolvedores de software, a API 18 está asociada á versión 4.3 de Android.
  • As aplicacións desenvolvidas para unha versión de Android funcionan nas versións superiores de Android.
  • A seguinte imaxe amosa brevemente algunhas das distintas APIs dispoñibles neste intre para os desenvolvedores de aplicacións.

PDM AndroidStudio Introduccion2.jpg


  • A seguinte imaxe amosa as APIS máis usadas na última enquisa de Marzo do 2016. Observar que a máis usada é a versión KitKat coa API 19, a seguinte é LolliPop. Polo tanto, para non complicar o desenvolvemento do curso por temas de compatibilidade de compoñentes gráficos, imos traballar coas versión de Android API 16, API 19 e API 23.

00 Android versions.png

Imaxe obtida de: http://developer.android.com/about/dashboards/index.html


Nota:: A decisión de sobre que API traballar é importante xa que debemos de desenvolver aplicacións para o maior número de dispositivos (maior mercado). Con API´s superiores teremos novos controles e funcionalidades pero perderemos poder executalas con versións anteriores. Polo tanto teremos que buscar un equilibrio entre funcionalidade e couta de mercado.


  • Cabe sinalar que para utilizar unha API non é necesario descargar todas as opcións que se atopan dentro da API.
Así:
  • Documentation for Android SDK: Documentación sobre a API a descargar. Podemos consultala online polo que non é obrigatoria descargala localmente.
  • SDK Plataform: Obrigatorio instalalo. É o código da API.
  • Samples for SDK: Códigos de exemplo do SDK seleccionado.
  • Android TV Arm....: Dispositivo virtual de Android para simular un smart tv cun procesador ARM. Non é obrigatorio instalalo. Só se imos desenvolver aplicacións para este tipo de dispositivos. Máis información neste enlace.
  • Android TV Intelx86....: Dispositivo virtual de Android para simular un smart tv cun procesador Intelx86. Non é obrigatorio instalalo. Só se imos desenvolver aplicacións para este tipo de dispositivos.Máis información neste enlace.
  • Android Wear Arm....: Dispositivo virtual de Android para simular un reloxo con Android nun procesador Arm. Non é obrigatorio instalalo. Só se imos desenvolver aplicacións para este tipo de dispositivos.Máis información neste enlace.
  • Android Wear Intelx86....: Dispositivo virtual de Android para simular un reloxo con Android nun procesador Intelx86. Non é obrigatorio instalalo. Só se imos desenvolver aplicacións para este tipo de dispositivos.Máis información neste enlace.
  • Arm System Image: Imaxe dun S.O. Android cun procesores ARM. Se temos procesadores AMD podemos instalar esta imaxe. A lo menos unha imaxe é necesario instalar para poder crear un dispositivo virtual con esta versión de Android.
  • Intel x86 Atom_64 Image: Imaxe dun S.O. Android cun procesador de 64bits. A lo menos unha imaxe é necesario instalar para poder crear un dispositivo virtual con esta versión de Android. Se tes un procesador Intel de 64 bits esta debería ser a túa elección, xunto coa instalación do Intel Hardware Accelerated Execution Manager (Intel HAXM) (atópase en extras, o veremos no punto de Dispositivos Virtuais de Android)
  • Intel x86 Image: Imaxe dun S.O. Android cun procesador de 32bits. A lo menos unha imaxe é necesario instalar para poder crear un dispositivo virtual con esta versión de Android. Se tes un procesador Intel de 32 bits esta debería ser a túa elección, xunto coa instalación do Intel Hardware Accelerated Execution Manager (Intel HAXM) (atópase en extras, o veremos no punto de Dispositivos Virtuais de Android)
  • Google API: Necesario se vas a desenvolver aplicacións que vaian a facer uso do GoogleMap, Google+,...(Google Play Services). Non é obrigatorio instalalo.
  • Google API .... image: Son imaxes do S.O. Android na que se pode probar aplicacións que fagan uso do GoogleMap. Os diferentes tipos de imaxe se corresponden cos vistos antes. Non é obrigatorio instalalo.
  • Sources for Android SDK: Código fonte do Android SDK.



NOTA:

  • Para instalar a API que se menciona arriba (API 16) precísase dispor duns 300 MB libres no disco.
  • As APIs que máis ocupan son as da API 20 e superiores: Máis de 8 GiB en total.

Android SDK

  • O SDK de Android proporciona para cada API:
    • Un conxunto de librarías, paquetes e clases.
    • Elementos XML.
    • Depurador de código.
    • Simuladores de teléfonos
    • Exemplos de código e titoriais
    • Soporte para desenvolver aplicacións en: Windows, Linux e OS X.
  • O SDK de Android proporciona un xestor que permite descargar todo o relativo a unha API concreta, como se amosa na mesma imaxe anterior:

Android 2014 ubuntu 35.jpeg


  • Todos os paquetes relativos ao Android SDK están almacenados nunha carpeta, indicada polo usuario, no sistema.

Android 2013 ubuntu 78.jpg

  • A continuación describimos brevemente algunhas das carpetas:
    • add-ons: Contén plugins para desenvolver para desenvolver aplicacións para algúns dipositivos
    • docs: Documentación completa en formato HTML, inclúe a Guía do desenvolvedor e da API. Abrir o ficheiro offline.html
    • platform-tools: Contén as ferramentas comúns do SDK e que se actualizan con cada revisión de Android, entre elas está o ADB (Android Debug Bridge).
    • platforms: Almacena as versións de Android coas que desenvolver aplicacións. Cada versión atópase nun subdirectorio. E cada subdirectorio ten unha estructura similar coas librarías, compilador, etc propios desa versión.
    • samples: Contén exemplos de código para cada versións instalada no sistema.
    • system-images: Para cada versión do SDK almacena unha imaxe da CPU a usar no dispositivo virtual.
    • tools: Contén ferramentas que son independentes da versión de Andorid: emulador, AVD Manager, DDMS, etc.
  • SDK Readme.txt: Indica como realizar a configuración inicial do SDK de Android.

Android en VirtualBox

  • Tamén temos outras opcións como Genymotion, que se pode descargar para uso persoal, pero non se integra totalmente no IDE de Android (non permite emular chamadas, ou enviar coordenadas GPS,... dende a vista DDMS (o veremos durante o curso).




-- Ángel D. Fernández González e Carlos Carrión Álvarez -- (2015).