Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Contedo
Mais alguns conceitos Java O que o Android Guia desenvolvimento, APIs Instalao SDK e Plugin Eclipse Estrutura de um projecto Android no Eclipse Ciclo de vida de uma aplicao Alguns controlos (caixa de texto, boto, checkbox, slider) Aplicao exemplo: Enviar um SMS Aplicao exemplo: Calculadora de fraces
APIs / Documentao
O que o Android
"Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language." http://developer.android.com/guide/basics/what-is-android.html - Sistema operativo com kernel Linux - Framework aplicacional baseado em Java - Mquina virtual Dalvik (optimizada para dispositivos mveis)
http://www.bbc.co.uk/news/technology-10839034
Depois de instalado o plugin o Ir a Window -> Android SDK and AVD Manager > Available packages Marcar e instalar
Criao emulador
Window -> Android SDK and AVD Manager -> Virtual Devices o New Seleccionar o dispositivo o Start
Definir :
"Application name" (qualquer coisa), "Package name" (do gnero com.jorge.android), "Create Activity" (.NomeDaClasse) e "Min SDK Version" ( um valor inteiro da coluna API no Build Target)
http://developer.android.com/guide/topics/fundamentals.html#actlife
Activity
A classe Activity a classe que implementa o ciclo de vida descrito e serve de base a uma aplicao. Todas as aplicaes so subclasses de Activity o Fazem override dos mtodos relativos ao ciclo de vida (que interessarem aplicao) Definida no package o android.app http://developer.android.com/reference/android/app/Act ivity.html
Alguns controlos
A classe base para os componentes grficos num ecr a classe View Todos os controlos so subclasses de View: o Botes o Caixas de texto (label e editvel) o Scroll o Checkbox Um ecr de uma aplicao tem, tipicamente, vrios componentes, e.g., uma caixa de texto, um boto, uma checkbox, etc. Para criarmos esta estrutura temos de organizar os componentes hierarquicamente o Temos de usar componentes que podem conter eles prprios vrios componentes: ViewGroup
ViewGroups
Um ViewGroup um painel ao qual podemos adicionar outras Views (ou outros ViewGroup) o A classe ViewGroup ela prpria subclasse de View o Mas no tem representao visual, apenas serve para organizar os componentes l dentro Existem diferentes ViewGroup que organizam os componentes de forma diferente
ViewGroups
A janela da aplicao apenas tem associada uma nica View o Normalmente associamos uma ViewGroup (subclasse de View) para podermos associar ViewGroup todos os outros controlos
Alguns controlos
A maior parte dos controlos grficos esto no package o android.widget http://developer.android.com/reference/android/widget/ package-summary.html As classes View e ViewGroup esto em o android.view http://developer.android.com/reference/android/view/pa ckage-summary.html
Alguns controlos
Todos os controlos tm um construtor que necessita de um Context o Este parmetro a nossa Activity (subclasse indirecta de Context)
Eventos de input
Para detectarmos eventos relacionados com os controlos (eventos gerados por input do utilizador) temos de associar ao controlo um objecto que escuta as notificaes dos eventos em que estamos interessados.
Cada controlo pode definir eventos diferentes e, por isso, classes diferentes que escutam esses eventos.
Eventos de input
public class Controlos extends Activity implements OnClickListener { Button btn; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Um boto com o texto 'ol' btn = new Button(this); btn.setText("Ol"); // vamos escutar clicks no boto btn.setOnClickListener(this); setContentView(btn); } // A interface OnClickListener define apenas este mtodo que temos de implementar @Override public void onClick(View view) { Log.i("Controlos", "Boto pressionado"); } }
Listeners
Por exemplo, um Button, gera eventos quando clicado, enviando notificaes para o objecto do tipo OnClickListener que est registado no Button.
Exemplo SmsSender
Ver projecto SMSSender
Fim
Cursos de Vero na Catlica 2010 http://porto.ucp.pt/cvc/
Jorge C. S. Cardoso, Lus Gustavo Martins jorgecardoso@ieee.org, lmartins@porto.ucp.pt