IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Conceptes

Home Screen

La Home screen és un espai personalitzable que conté accessos directes d'aplicacions, carpetes i widgets. Navegar entre les diferents pantalles d'inici o lliscar a esquerra i dreta.

All apps screen

La pantalla Totes les aplicacions li permet examinar tot el conjunt d'aplicacions i ginys que estan instal·lats al dispositiu

Recents screens

Recents screens proporciona una manera eficaç de canviar entre aplicacions utilitzades recentment. Proporciona una navegació clara entre les múltiples tasques en curs.

System Bars

Les barres del sistema (System Bars) són àrees de la pantalla dedicades a la visualització de les notificacions, la comunicació d'estat del dispositiu, i el dispositiu de navegació. Normalment les barres del sistema es mostren simultàniament amb l'aplicació. Les aplicacions que mostren contingut com pel·lícules o imatges, poden amagar temporalment les barres de sistema per permetre a l'usuari gaudir de contingut de la pantalla completa sense distraccions.

Status Bar

Navigation Bar

Combined Bar

Notificacions

Les notificacions són missatges breus que els usuaris poden accedir en qualsevol moment des de la barra d'estat. Proporcionen actualitzacions, recordatoris o informació que és important, però no prou importants com per justificar la interrupció de l'usuari. Obriu el calaix notificacions lliscant cap avall la barra d'estat. Tocar una notificació obre l'aplicació associada.

Common App UI

Jordiromeroandroidui01.png

Main Action Bar

Barra Principals d'Ació. El centre de comandament i control per la seva aplicació. La barra d'acció principal inclou elements per navegar per la jerarquia i l'opinió de la seva aplicació, així com les superfícies de les accions més importants.

View Control

Controlador de vistes. Permet als usuaris canviar entre els diferents punts de vista que la seva aplicació proporciona. Les vistes solen consistir en diferents disposicions de les seves dades o diferents aspectes funcionals de la seva aplicació.

Content Area

Àrea de contingut. L'espai on es mostra el contingut de l'aplicació.

Split Action Bar

Barres d'acció dividit. Proporcionen una manera de distribuir accions a través de les barres addicionals situats per sota de la barra d'acció principal en la part inferior de la pantalla.

Classes. Android UI toolkit

http://developer.android.com/reference/android/view/package-summary.html

Views (vistes)

Tots els elements de la interfície d'usuari en una aplicació Android es construeixen utilitzant Vistes o objectes del tipus ViewGroup. Una vista és un objecte que mostra alguna cosa per pantalla amb la que l'usuari pot interaccionar amb ella.

En la interfície d'usuari per a cada component de l'aplicació es defineix una vista utilitzant una jerarquia per a cada una d'elles.

Jordiromeroandroidui02.png

UI Layouts

Un disseny defineix l'estructura visual per a una interfície d'usuari, com ara la interfície d'usuari per a un giny d'activitat o aplicació. Es pot declarar un disseny de dues maneres:

  • Declarar elements de la interfície en XML. Android proporciona un vocabulari XML directe que correspon a les classes i subclasses Veure, tals com aquells per als widgets i dissenys.
  • Crear instàncies elements de disseny en temps d'execució. La seva aplicació pot crear vistes i objectes ViewGroup (i manipular les seves propietats) mitjançant programació Java.


Android.View

Proporciona classes que exposen classes bàsiques d'interfície d'usuari que s'encarreguen de disseny de la pantalla i la interacció amb l'usuari.

Exemple Carregar el recurs xml en codi java

Programació de layout

Layout Resource

Referència del fitxer XML

Esdeveniments

Event Listeners

onClick

onLongClick

onFucusChange

Quan l'usuari es desplaça sobre o fora del tema, utilitzant les tecles de navegació o trackball.

onKey

Es quan l'usuari es centra en l'element i pressiona o deixa anar una tecla de maquinari en el dispositiu.

onTouch

Des View.OnTouchListener. Es diu quan l'usuari realitza una acció qualificada com un esdeveniment de contacte, incloent una premsa, un comunicat o qualsevol gest de moviment a la pantalla.

onCreateContextMenu

Exemple

L'exemple següent mostra com registrar un listener clic en un botó.

/ / Crear una aplicació anònima de OnClickListener 

privat  OnClickListener mCorkyListener =  nova  OnClickListener ()  { 
    públic  void onClick ( View v )  { 
      / / codi quan és fa clic al botó 
    } 
}; 

protegit  void onCreate ( Bundle savedValues ​​)  { 
    ... 
    / / Captura nostre botó de disseny 

    Button botó =  ( Button ) findViewById ( R . Identificació . corchosa ); 
    / / Es registra el listener onClick amb la implementació anterior 
    botó . setOnClickListener ( mCorkyListener ); 
    ... 
}

Aplicar OnClickListener com a part de la nostra activitat

public class ExampleActivity extends Activity implements OnClickListener {
    protected void onCreate(Bundle savedValues) {
        ...
        Button button = (Button)findViewById(R.id.corky);
        button.setOnClickListener(this);
    }

    // Implementa el OnClickListener quan es crida a el nostre esdeveniment
    public void onClick(View v) {
      // que fa quan el botó és clicat
    }
    ...
}

Activity

Una activitat és una sola cosa, que l'usuari pot fer. Referencia de Android Activity a Android Developer:

Android Activity

Cicle de vida d'una activitat

Les activitats en el sistema es gestionen com una pila d'activitat. Quan s'inicia una nova activitat, es col·loca a la part superior de la pila i es converteix en l'activitat en marxa, l'activitat anterior es manté sempre per sota d'ella a la pila.

Jordiromeroactivity01.png

Hi ha tres bucles clau que vostè pot estar interessat en el seguiment dins la seva activitat:

El curs de la vida sencera d'una activitat que ocorre entre la primera crida a onCreate (Bundle) a través d'una simple trucada final a OnDestroy(). Una activitat va a fer tota la configuració d'estat "global" en onCreate(), i alliberar tots els recursos restants en OnDestroy(). Per exemple, si té un fil d'execució en segon pla per descarregar dades de la xarxa, pot crear aquest fil en onCreate() i després s'atura el fil a OnDestroy().

El curs de la vida visible d'una activitat que ocorre entre una crida a onStart() fins que una trucada corresponent a onStop(). Durant aquest temps, l'usuari pot veure l'activitat de la pantalla, tot i que pot no estar en el primer pla i la interacció amb l'usuari. Entre aquests dos mètodes que es poden mantenir els recursos que es necessiten per mostrar l'activitat de l'usuari. Per exemple, es pot registrar un BroadcastReceiver en onStart() per supervisar els canvis que afecten la seva interfície d'usuari, i anul·lar el registre en onStop() quan l'usuari deixa de veure el que s'està mostrant. El onStart() i onStop() mètodes poden trucar diverses vegades, com l'activitat es fa visible i ocult a l'usuari.

El temps de vida de primer pla d'una activitat que ocorre entre una crida a onResume() fins que una trucada corresponent a onPause(). Durant aquest temps l'activitat es troba davant de totes les altres activitats i la interacció amb l'usuari. Una activitat sovint es va colar entre els estats reprès i es va aturar, per exemple, quan el dispositiu es va a dormir, quan un resultat d'activitat es lliura, quan es lliura un nou intent, de manera que el codi d'aquests mètodes ha de ser bastant lleuger

Exemple

Creem una aplicació que ens permeti passar un missatge de una activitat a un altra podem seguir el següent procediment. Crearem un primer fitxer de layout, com el següent.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
	xmlns:tools="http://schemas.android.com/tools" 
	android:id="@+id/LinearLayout1" 
	android:layout_width="match_parent" 
	android:layout_height="match_parent" 
	android:orientation="vertical" > 


    <TextView android:id="@+id/LblNom" 
	android:layout_width="wrap_content" 
	android:layout_height="wrap_content" 
	android:text="@string/lblNom" /> 
	<EditText 
	android:id="@+id/TxtNom" 
	android:layout_width="match_parent" 
	android:layout_height="wrap_content" 
	android:inputType="text"> 
	</EditText> 
	<Button 
	android:id="@+id/BtnHola" 
	android:layout_width="wrap_content" 
	android:layout_height="wrap_content" 
	android:text="@string/acceptar" /> 

</LinearLayout> 

Crearem un segon fitxer de layout que serà el que rebrà el missatge del la segona activitat.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView 
	android:id="@+id/TxtSaludo" 
	android:layout_width="wrap_content" 
	android:layout_height="wrap_content" 
	android:text="" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/retorna" />

</LinearLayout> 

Vegeu També

Android UI Development

Enllaços Externs

http://developer.android.com/design/get-started/ui-overview.html

http://developer.android.com/reference/packages.html

http://docs.oracle.com/javase/7/docs/api/