• Nenhum resultado encontrado

Aula Android 02 - Introdução ao Android 02

N/A
N/A
Protected

Academic year: 2021

Share "Aula Android 02 - Introdução ao Android 02"

Copied!
24
0
0

Texto

(1)
(2)

ACTIVITY

• Uma Activity (atividade) representa uma interface

de usuário no Android.

• Toda interface de usuário de sua aplicação será

herdada da classe abstrata Activity.

• Utiliza-se de componentes para criar interfaces de

usuário que mostram informações e respondem a

usuário que mostram informações e respondem a

ações do usuário.

• Em um projeto real, provavelmente você usará

varias activitys, onde cada uma representará uma

janela.

• É um dos componentes Android mais utilizados

em uma aplicação.

(3)

ACTIVITY - EXEMPLO

package br.com.cassic.treinamento;

import android.app.Activity;

import android.os.Bundle;

public class MainActivity extends Activity {

@Override

public void onCreate(Bundle

savedInstanceState) {

super.onCreate(savedInstanceState); setContentView(R.layout.main);

} }

(4)

ACTIVITY

• O método onCreate(Bundle) deve ser SEMPRE

implementado em uma activity e sempre será

o primeiro método a ser executado quando

uma activity for iniciada.

• A chamada do método setContentView(View)

SEMPRE deve estar presente no método

SEMPRE deve estar presente no método

onCreate(Bundle) de uma activity. Ele recebe

como parâmetro um objeto do tipo View, que

define a interface de usuário.

• Cada activity deve ser declarada no arquivo

AndroidManifest.xml.

(5)

ACTIVITY

(6)
(7)

LAYOUT

• O Android é bastante flexível em relação à criação de layouts.

• O layout das interfaces de usuário (janelas) podem ser feitas, no Android, de duas maneiras:

• Programaticamente, muito parecido com o SWING.

• Declarativamente, por meio de um arquivo XML.

• Declarativamente, por meio de um arquivo XML. • Neste curso criaremos as interfaces de forma

declarativa, via XML.

• Este arquivo de XML com o layout deve estar na pasta /res/layout.

(8)

LAYOUT - EXEMPLO

<?xml version="1.0" encoding="utf-8"?> <LinearLayout mlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello"/> </LinearLayout>

(9)

ANDROIDMANIFEST.XML

• O arquivo AndroidManifest.xml é o alicerce de

uma aplicação Android.

• Este arquivo deve estar na raiz da aplicação.

• Este arquivo serve para:

Descrever o contexto da aplicação;

Descrever o contexto da aplicação;

Activitys, Services, Content Providers e

Broadcast Receivers suportados pela

aplicação;

Permissões necessárias para a aplicação

utilizar os recursos de hardware e software.

Entre outras funções

(10)

ANDROIDMANIFEST.XML - EXEMPLO

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="br.com.cassic.treinamento" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" />

<application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

(11)

A CLASSE R

• As interfaces de usuário podem ser criadas de

duas maneiras:

Programaticamente, de forma similar ao

SWING.

Ou declarativamente por xml, abordagem

que utilizaremos nesse curso.

que utilizaremos nesse curso.

• No final teremos um objeto do tipo View com

todos os componentes da interface de

usuário.

• Uma referência desse objeto do tipo View deve

ser passado para o método setContentView()

para que a interface de usuário seja criada.

(12)

A CLASSE R

• Para obter a referência de um objeto View criado por XML, utilizamos a classe R.

• A classe R é uma classe que possui métodos

estáticos com as referências de todos os objetos criados via XML.

• As estradas estáticas são criadas automaticamente • As estradas estáticas são criadas automaticamente

graças ao plugin ADT, instalado no eclipse.

• Toda alteração no XML, será automaticamente replicado na classe R.

• Esta classe NUNCA deve ser alterada manualmente. • Se acidentalmente, ou propositalmente, você apagar

(13)

A CLASSE R - EXEMPLO

package br.com.cassic.treinamento; public final class R {

public static final class attr { }

public static final class drawable {

public static final int icon=0x7f020000; }}

public static final class layout {

public static final int main=0x7f030000; }

public static final class string {

public static final int app_name=0x7f040001; public static final int hello=0x7f040000;

} }

(14)

ACESSANDO ELEMENTOS VISUAIS

• A classe R disponibiliza uma forma de acessar

uma referência de um objeto do tipo View, criado

a partir de um arquivo XML.

• Para utilizar essa referencia em um código Java,

deve ser criado um objeto do mesmo tipo.

• Para isso utilizamos o método findViewById(id),

• Para isso utilizamos o método findViewById(id),

onde o id é a referência disponibilizada pela

classe R do objeto a ser referenciado.

• SEMPRE deverá ser feito uma conversão (cast) do

objeto que está sendo referenciado.

(15)

ACESSANDO ELEMENTOS VISUAIS

package br.com.cassic.treinamento;

import android.app.Activity;

import android.os.Bundle;

import android.widget.EditText;

public class MainActivity extends Activity {

@Override @Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState); setContentView(R.layout.main);

EditText caixa_texto = (EditText) findViewById(R.id.caixa_texto); }

(16)

TRATAMENTO DE EVENTOS

• Quando desenvolvemos aplicativos, devemos sempre ter a preocupação de garantir que ela interaja com o usuário e atenda as suas expectativas.

• Para tanto, a plataforma Android disponibiliza uma grande quantidade de Listeners (ouvintes) para capturar eventos.

capturar eventos.

• O listener para capturar os eventos de um botão é o setOnClickListener(listener).

• Para usa-lo, deve-se primeiramente implementar

(implements) a interface OnClickListener, no caso de um botão.

• Ao implementar a interface OnClickListener será criado o método onClick(View), que será chamado automaticamente quando acontecer um evento.

(17)

TRATAMENTO DE EVENTOS

public class MainActivity extends Activity implements OnClickListener{ @Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button botao = (Button) findViewById(R.id.botao); botao.setOnClickListener(this);

botao.setOnClickListener(this); }

@Override

public void onClick(View v) {

// Implementar aqui o que fazer // quando acontecer um evento. }

(18)

LOGCAT

• O método System.out.println(), muito utilizado no Java para imprimir uma mensagem na tela, não funciona no Android (pelo menos não deveria).

• Isso porque na máquina virtual Dalvik o stdout e o stderr (System.out e System.err) redirecionam sua saída para a pasta /dev/null (é o que diz a

saída para a pasta /dev/null (é o que diz a documentação, mas na prática...).

• A classe Log permite que você crie logs de informação, debug, alertas e erro.

• Os logs funcionam de forma similar ao framework Log4J da Jakarta.

• Os logs são apresentados na ferramenta LogCat, que fica na perspectiva DDMS.

(19)

LOGCAT - EXEMPLO

public class MainActivity extends Activity

implements OnClickListener{

@Override

public void onCreate(Bundle

savedInstanceState) { savedInstanceState) {

super.onCreate(savedInstanceState); setContentView(R.layout.main);

Log.i("TAG", "Mensagem de Log"); }

(20)

EXERCÍCIO

1. Criar o nosso primeiro projeto Android (Projeto01).

2. Criar um layout com XML com os seguintes componentes: a) TextView - Label b) EditText – Textbox b) EditText – Textbox c) Button d) Button e) TextView – Label

(21)

EXERCÍCIO

3. Gerenciar o evento do clique do botão. Ao clicar no primeiro botão, o texto digitado no textbox deve ser exibido no segundo TextView (Label).

4. Exibir uma mensagem de log no LogCat quando o botão for clicado. Testar o método

botão for clicado. Testar o método System.out.println().

(22)

EXEMPLO – TRATANDO O CLICK NO BOTÃO

package ifce.aulas.projeto01; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;

public class Projeto01Activity extends Activity implements OnClickListener { @Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

(23)

EXEMPLO – TRATANDO O CLICK NO BOTÃO

setContentView(R.layout.main);

Button botao01 = (Button) findViewById(R.id.button1); botao01.setOnClickListener(this);

}

public void onClick(View v) { public void onClick(View v) {

EditText campoTexto01 = (EditText) findViewById(R.id.editText1); TextView texto01 = (TextView) findViewById(R.id.textView1);

texto01.setText(campoTexto01.getText()); Log.i("Evento", "Pressionei o botão 01"); }

(24)

BIBLIOGRAFIA

• Bruno Lopes A. Batista. Curso Android Módulo Básico. • Iury Teixeira. Google Android.

Referências

Documentos relacionados

Ao ser selecionada esta opção será apresentada uma Caixa de Diálogo, idêntica aquela apresentada para seleção do arquivo de imagem, a ser utilizada para indicar

O contexto escolhido para a realização do estudo foi o ensino superior, tendo como amostra os acadêmicos do curso de Administração de uma universidade da cidade de Rio Verde (GO) e

Barcelona, Auditorio de Zaragoza, Auditorio 400 del Museo Reina Sofía (Madrid), ciclo CDMC (Madrid), INJUVE (Madrid), Sala Kursaal (San Sebastián), Festival JOMEX’12

No seu encontro com o presidente da República o prefeito Geraldo daConoei- cAo Romano pediu verbas para ssfaltamento du aero- porto local, abertura urgen* te da

When the 10 th percentile of the Alexander stan- dard growth curve for twins was used, a birth weight below the 10 th percentile was observed in 4.9% of newborn of

PARTES: Município de laçu, através do Fundo Municipal de Sayde, inscrito no ©NPJ 12.287.402/001-06 e a Empresa CASA DO HOSPITAL PRODUTOS ORTOPÉDICOS E HOSPITALARES LTDA -ME, inscrita

Essa ferramenta apresenta uma abordagem inovadora que consiste em utilizar um algoritmo de otimização multiobjetivo baseado em enxame de partículas para realizar a alocação dos

O capítulo três trata dos Parâmetros Curriculares Nacionais do Ensino Médio Brasileiros (PCNEM) e o Currículo Mínimo proposto pela Secretaria de Estado de Educação no Rio de