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

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda

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/golosina en inglés, a última no mercado (agosto 2018) denomínase Oreo e é a API versión 26.
  • 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.

Android 2014 ubuntu 35.jpeg


  • A seguinte imaxe amosa as APIS máis usadas na última enquisa de setembro do 2017. Observar que a máis usada é a versión KitKat coa API 19, as eguinte é Jelly Bean (coas distintas APIS) e finalmente a moderna 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 22.

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 cota de mercado.


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 -- (2020).