Android

De Cacauet Wiki
La revisió el 21:44, 3 ago 2018 per Enric (discussió | contribucions)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca

#FpInfor #Dam #DamMp08 #DamMp08Uf1 #DamMp08Uf01


Introducció[modifica]

Android és un sistema basat en Linux però que no és de codi obert. Només té certs mòduls que ho son.

Alguns conceptes:

  • Activity
  • Manifest
  • App LifeCycle
  • Layout
  • Resources

Articles relacionats:

Si algun dia feu una aplicació i cobreu per ella, llegiu això atentament per pagar els impostos correctament.


Instal·lació[modifica]

Android SDK: Treballant en Java[modifica]

Instal·lem l'entorn de desenvolupament ADT (Android Developer Kit) per treballar en JAVA:

Cordova/PhoneGap: Treballant en JavaScript[modifica]

Apache Cordova/PhoneGap:


Primera aplicació: hello world[modifica]

  • File -> New -> Android Application Project
  • Layout amb Widgets:
    res -> layout -> activity_main.xml
  • Proposta d'exercici: afegeix un Button i un Label.
  • Canvia'ls el seu ID (el què després ens caldrà per localitzar-los des del codi).
  • Prova: donem al Play (Run) i triem el dispositiu (virtual o real) sobre el què executar.
  • Localitza com connectar aquests elements al codi a través de l'arxiu de Resources : R.id.<id_del_recurs>
  • Afegeix el codi pertinent (onButtonClickListener) per tal que al prémer el botó, puguem canviar el text del label.
  • Tornem a donar al Play (Run) i triem el dispositiu (virtual o real) sobre el què executar.


Activity Life Cycle[modifica]

Una aplicació Android (Activity) té diferents estats controlats pel Sistema Operatiu Android:

Activity lifecycle.png

Android-Activity-Lifecycle.png
  • Paused: una altra activity de més prioritat passa al foreground.
  • Stopped: es sol arribar quan es canvia d'activitat.
  • Kill: el SO mata una activity si necessita la RAM per una altra.

Cada cop que es canvia d'estat es crida a la callback pertinent: onCreate(), onStop(), onPause(), etc.


Toasts[modifica]

Un Toast és un "missatge flotant" que dura uns pocs instants i que ens pot ajudar a tenir informació de com va la nostra aplicació.


Web App[modifica]

Crearem una aplicació tonta amb un browser incrustat (WebView) per visualitzar una web i navegar. D'aquesta manera podem realitzar una aplicació sencera a la web, el que facilita el manteniment en els clients. És clar que això només ho podem fer per aplicacions senzilles i que estiguin ben adaptades al tamany dels dispositius mòbils.

Utilitzarem el WebView. Seguirem les passes indicades aquí:

http://developer.android.com/guide/webapps/webview.html
  • Anar al layout (res->layout) i afegir un WebView
  • Donar permís a l'aplicació per accedir a Internet (android_manifest.xml)
  • Configurar WebView a onCreate():
    1. Activar JavaScript.
    2. Afegir la web inicial amb el mètode loadUrl.
      • Podem crear un string a res -> values -> strings.xml
      • El cridarem després al codi de MainActivity.java mitjançant: R.string.nom_atribut
    3. Obrir els links dins la pròpia WebView (setWebViewClient).

Ja podem compilar i córrer l'aplicació.


Coses[modifica]

Alguns links interessants per començar amb Android:

Android per PCs i tablets i similars: http://www.android-x86.org/download

Ubuntu per Android: http://www.ubuntu.com/devices/android

Rotate screen: http://discuz-android.blogspot.com/2008/01/change-android-screen-landscapeportrait.html

Screen sizes: http://stackoverflow.com/questions/6166677/android-screen-size-hdpi-ldpi-mdpi