Programa de Dispositivos Móveis



Documentos relacionados
Programação para Dispositivos Móveis

Programação de Dispositivos Móveis

Programa de Dispositivos Móveis

Programação de Dispositivos Móveis

Desenvolvimento com Android Studio. Aula 02 Widgets, Manipulação de Dados e Programação de Eventos

Prof. Jhonatan Fernando

Programação para Android. Aula 05: Estilos e temas; galeria de imagens

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período

Android Layout Manager. Ivan Nicoli

Programação para Dispositivos Móveis

Programação para Android. Aula 06: Activity, menus e action bar

Programação para Android

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Android Core. Felipe Silveira felipesilveira.com.br. Aula 6

HCI Summer Workshop. Android #1. Tiago Guerreiro.

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

Programação para Android. Aula 08: Persistência de dados SQL

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ

Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Desenvolvimento Android.

Programação para a Plataforma Android Aula 7. Mul$mídia

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho

Comunicação entre A0vidades

ANDROID APPLICATION PROJECT

Criar um novo projecto

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Interfaces Gráficas parte 3

Android Banco de Dados. Ivan Nicoli

Módulo 2 - Novas Activities Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Módulo 4 - Interface Gráfica Gerenciadores de Layout. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Computação Móvel Conceitos Básicos do Android Ref. Capítulo 3

Login. Criar uma nova Activity. Login. Luiz Eduardo Guarino de Vasconcelos

Introdução ao Android

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Introdução ao Desenvolvimento para Sistema Operacional Android

Trabalhando com Mensagens. File > New > New Project. Uso de mensagens (Toast) Luiz Eduardo Guarino de Vasconcelos

AULA 2. Minicurso PET-EE UFRN

Escrito por Neri Neitzke Qua, 12 de Outubro de :40 - Última atualização Seg, 26 de Março de :50

Programação para Dispositivos Móveis

Google Drive. Passos. Configurando o Google Drive

Android Básico Hello World!

Apostila de Windows Movie Maker

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Apostila de. Programando Passo a Passo 3ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br)

Android. Interfaces: widgets

Firebase. Acesse o site Acesse o menu Go to Console. Acesse com uma conta Google ou crie uma conta.

Capítulo 1 Conceito Básico

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

Apostila de. Programando Passo a Passo 3ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br)

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Google Android. Componentes Gráficos

Tutorial Android Speech

Manual de Utilização COPAMAIL Criando e configurando a assinatura de . Zimbra Versão 8.0.2

Desenvolvimento Android. Pontapé inicial...

Programando Passo-a-Passo 2ª Edição De : Luciano Alves (lucianopascal@yahoo.com.br)

Configurar o Furbot no Eclipse

Manual de Instalação e Configuração do Primeiro Backup Versão PRO

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

Desenvolvimento de aplicações na plataforma Google Android

ÍNDICE... 2 POWER POINT Abas... 7 Salvando Arquivos... 8 Abrindo um arquivo LAYOUT E DESIGN... 13

PROPOSTA DE UM PADRÃO DE PROJETO PARA ANDROID UTILIZANDO A WEB

Menus Personalizados

LOJAS ESPECIAIS 2014

Tutorial para atividades do Trabalho Prático da disciplina DCC 603 Engenharia de Software

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

6ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br) ApostilaDeAndroid. Rio de Janeiro - Outubro 2013

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

De : Luciano Alves da Silva (lucianopascal@yahoo.com.br) Rio de Janeiro Agosto 2012

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Apostila de. WordPress. Gustavo Teixeira da Cunha Coelho Henrique Gemignani Passos Lima. 11 de maio de Primeira Edição RC1

Núcleo de Tecnologias Interativas de Aprendizagem.

Google Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai, Diogo Carleto, erodrigo Cascarrolho

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

Programando Passo-a-Passo De : Luciano Alves (lucianopascal@yahoo.com.br)

Procedimentos para Reinstalação do Sisloc

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

Display de Cristal Líquido

"Manual de Acesso ao Moodle - Discente" 2014

Programa de Dispositivos Móveis

Banco de Dados BrOffice Base

Programação para a Plataforma Android Aula 11. Banco de Dados

CURSOS ANDROID. Prof: Igor Portela

Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto :

Table of Contents. PowerPoint XP

Criando Quiz com BrOffice.impress

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

PROGRAMAÇÃO COM ANDROID NA ÁREA DA ENGENHARIA CARTOGRÁFICA: ALGUNS EXEMPLOS

1 UNIT Universidade do Trabalhador Dr. Abel dos Santos Nunes

Views Interface Gráfica

Computação II Orientação a Objetos

Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v

Manual de Instalação e Configuração do Primeiro Backup Versão LITE

Microsoft Office PowerPoint 2007

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

ALUNES MANUAL DO USUÁRIO. Guia rápido Alunes

Construindo layouts complexos em Android

Transcrição:

Aula 02 - Exercício Programa de Dispositivos Móveis PDM - Aula02 - Exercício- Ver 02-04/06/2014 08:56 Criando Aplicação Android (BasicView) Vamos continuar a criar interfaces gráficas (UI) básicas com Android, utilizando o Eclipse como IDE de desenvolvimento. Como sabemos o Android oferece dois modos de criar interfaces gráficas: Uma é através da definição de um arquivo XML. Para configurar este arquivo pode ser usado um modo gráfico, que consiste em arrastando componentes visual (views) para dentro dele, ou codificar diretamente os componentes no arquivo. Este arquivo (xml) será carregado no startup da aplicação e a renderização da tela é construída em tempo de execução. O outro modo é através da codificação do componente diretamente dentro da classe Activity. Os componentes são codificados dentro do método oncreate que é executado toda vez que o Activity for ativado. Na maioria dos casos o desenvolvedor usará as duas maneiras. Views Vamos aprender sobre os componentes representados pelas classes que herdam de View. Neste exercício vamos criar um novo projeto no Eclipse, chamado BasicView2, para criarmos exercícios de alguns views. Os views básicos que vamos exercitar são: TextView EditText Button ImageButton CheckBox ToggleButton RadioButton RadioGroup Vamos editar nosso main.xml do projeto. Reescreva-o com as seguintes informações: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scrollview1" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout

android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/txtview" android:text="views Básicos" android:textappearance="?android:attr/textappearancelarge"/> <ImageButton android:id="@+id/imagebuttonum" android:layout_gravity="center" android:src="@drawable/ic_launcher"/> <EditText android:id="@+id/edittextnome" android:layout_width="fill_parent" /> <CheckBox android:id="@+id/checkbox1" android:text="um" /> <CheckBox android:id="@+id/checkbox2" style="?android:attr/starstyle" android:text="dois" /> <RadioGroup android:id="@+id/radiogroupum" > <RadioButton android:id="@+id/radiobuttonmasculino" android:checked="true" android:text="sexo Masculino" /> <RadioButton android:id="@+id/radiobuttonfeminino" android:text="sexo Feminino" /> </RadioGroup> <ToggleButton android:id="@+id/togglebutton1" Página 2 de 6

android:text="togglebutton" android:textoff="não" android:texton="sim" /> <Button android:id="@+id/buttonexibir" android:text="exibir os Views" /> </LinearLayout> </ScrollView> Note que utilizamos um componente chamada ScrollView para caso a tela do Android não consiga exibir todos os views será criada uma barra de rolamento(scrollbar) na lateral da tela para facilitar a visualização de todos os elementos. Após o ScroolView e o LinearLayout, o primeiro componente é um TextView. Utilizado para exibir um texto na tela do Android. O segundo componente é um ImageButton, mesclando uma imagem ao botão tradicional. Com esta view sempre devemos definir a fonte da imagem, no nosso exemplo utilizamos: android:src="@drawable/ic_launcher" Neste caso acessamos recursos através do XML, sendo assim devemos definir um @, a localização do recurso (drawable, layout ou values), barra e o nome do recurso. Já na classe Activity usamos a seguinte linha de código: setcontentview(r.layout.main); o recurso é acessado através do código Java. Neste caso, você indica a classe R e, o caminho referente ao recurso desejado. O terceiro componente é um campo de texto, representado pela classe EditView. O EditText tem atributos importantes. Em alguns casos, o programador adiciona um campo de texto onde o usuário informa sua senha, sendo assim, o texto deve ser substituído por asteriscos. Para atingir este objetivo, existe uma propriedade que pode ser adicionada ao EditText: android:password="true" O quarto e o quinto componente é um simples CheckBox. O quinto componente que também é um CheckBox, mas tem uma especificidade. Redefinimos seu estilo, veja: style="?android:attr/starstyle" O sexto e sétimo componente são instâncias de RadioButton, dentro de um RadioGroup. O oitavo componente é um ToggleButton, um botão estilizado com dois estados: on e off. Também podemos mudar os textos do ToggleButton através de mais duas propriedades: android:textoff="não" android:texton="sim" Com isso o componente apresenta textos definidos pelo programador, e não aqueles padrões. Por fim demos um Button utilizado para exibir uma mensagem a ser acionado. Tratamento de Eventos Como já falamos rapidamente a interface gráfica de um aplicativo pode ser construída de duas maneiras: diretamente com o XML ou codificando cada componente. Por exemplo, já usamos o TextView no XML, porém, as classes dos views podem ser instanciada e tratada diretamente via código. Mesmo quando optamos por criar a interface via XML, que é mais indicada inclusive pelo site de desenvolvedores do Android, vamos usar a codificação pura em Java para tratar os eventos. Veja a classe PrincipalActivity, localizada na pasta src: Página 3 de 6

Na classe PrincipalActivity temos: package br.com.aula_02b; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.checkbox; import android.widget.edittext; import android.widget.imagebutton; import android.widget.radiobutton; import android.widget.radiogroup; import android.widget.radiogroup.oncheckedchangelistener; import android.widget.toast; import android.widget.togglebutton; public class PrincipalActivity extends Activity implements OnClickListener, OnCheckedChangeListener { ImageButton imgbotao; EditText edtnome; CheckBox chkum,chkdois; RadioGroup radgrupo; RadioButton radmasculino,radfeminino; ToggleButton tgbum; Button btnexibir; @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); btnexibir = (Button) findviewbyid(r.id.buttonexibir); edtnome = (EditText) findviewbyid(r.id.edittextnome); chkum = (CheckBox) findviewbyid(r.id.checkbox1); chkdois = (CheckBox) findviewbyid(r.id.checkbox2); radmasculino = (RadioButton) findviewbyid(r.id.radiobuttonmasculino); radfeminino = (RadioButton) findviewbyid(r.id.radiobuttonfeminino); tgbum = (ToggleButton) findviewbyid(r.id.togglebutton1); imgbotao = (ImageButton) findviewbyid(r.id.imagebuttonum); btnexibir.setonclicklistener(this); imgbotao.setonclicklistener(this); radgrupo = (RadioGroup) findviewbyid(r.id.radiogroupum); radgrupo.setoncheckedchangelistener(this); public void onclick(view v) { String nome = edtnome.gettext().tostring(); String checkum = ""; String checkdois = ""; String sexo=""; String toggleum; if (v.getid() == imgbotao.getid()) { Toast.makeText(getBaseContext(), "Clicou no ImageButton", Toast.LENGTH_SHORT).show(); if (v.getid() == btnexibir.getid()) { Página 4 de 6

if (chkum.ischecked()) { checkum = "Um ligado"; else { checkum = "?"; if (chkdois.ischecked()) { checkdois = "Dois ligado"; else { checkdois = "?"; if (radmasculino.ischecked()) { sexo = "Masculino"; else { sexo = "Feminino"; toggleum = tgbum.gettext().tostring(); Toast.makeText(getBaseContext(), "Nome: " + nome + "\n" + "Check Um: " + checkum + " e Check Dois: " + checkdois + "\n" + "Radio: " + sexo + "\n" + "Toggle: " + toggleum, Toast.LENGTH_SHORT).show(); public void oncheckedchanged(radiogroup group, int checkedid) { RadioButton radbotao = (RadioButton) this.findviewbyid(checkedid); if (radbotao.gettext().equals("sexo Feminino")) { imgbotao.setimageresource(r.drawable.menina); else { imgbotao.setimageresource(r.drawable.menino); Em todos os views (componentes) criados até aqui, sempre definimos uma propriedade android:id. Essa identificação é usada para recuperar este componente no código Java através do método findviewbyid(). Com posse da instância do Button podemos configurar um listener para o evento de clique, usando o método setonclicklistener e passando por parâmetro uma instância do próprio objeto que desejamos, no caso inicial vamos usar somente o Button. Vamos repetir essa operação também para o ImageButton. Veja o código a seguir: Evento do Button e do ImageButton btnexibir.setonclicklistener(this); imgbotao.setonclicklistener(this); Uma forma de tratar eventos é através da interface OnClickListener. Na classe Activity a linha da classe fica: public class PrincipalActivity extends Activity implements OnClickListener { Atenção: localizada em: import android.view.view.onclicklistener; Quando definimos a interface OnClickListener temos que codificar o método onclick. Com esse método definimos o que acontecerá quando o evento de clique do Button e do ImageButon forem acionados. O texto que aparece na tela é criado através de um Toast. Usamos o método estático maketoast() que recebe os seguintes parâmetros: um contexto, a mensagem e um inteiro que define a duração. O contexto normalmente é o atual, isto é, é a tela que desejamos exibir a mensagem. Normalmente é a tela que já está em exibição. Por isso escrevemos: getbasecontext(). Para o tempo de exibição usamos a constante LENGHT_SHORT. Por fim, para exibir a mensagem na tela do Android usamos o método show(). Página 5 de 6

Evento do RadioGroup para atender os RadioButtons PDM - Aula02 - Exercício- Ver 02-04/06/2014 08:56 Vamos acrescentar mais outro evento ao nosso projeto. Agora utilizaremos também a interface OnCheckedChangeListener. A primeira linha da classe fica: public class PrincipalActivity extends Activity implements OnClickListener, OnCheckedChangeListener { Quando definimos a interface OnCheckedChangeListener temos que codificar o método oncheckedchanged. Com esse método definimos o que acontecerá quando o evento de clique dos RadioButtons forem acionados. Veja que colocamos os radios dentro de um RadioGroup. A ideia é associar uma imagem dentro do ImageButton em função do evento de clique nos RadioButtons que indicam o sexo. Sendo assim, precisamos copiar duas imagens que estão na pasta Arquivos (na pasta da aula) e colar na pasta drawble-hdpi. As imagens são: menino.jpg e menina.jpg. Também o método findviewbyid() recupera o componente no código Java. Com posse da instância do RadioGroup podemos configurar um listener para o evento de clique usando a codificação: radgrupo.setoncheckedchangelistener(this); No método setoncheckedchangelistener passamos o parâmetro com a instância do próprio view. O método oncreate() agora completo fica: @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); btnexibir = (Button) findviewbyid(r.id.buttonexibir); edtnome = (EditText) findviewbyid(r.id.edittextnome); chkum = (CheckBox) findviewbyid(r.id.checkbox1); chkdois = (CheckBox) findviewbyid(r.id.checkbox2); radmasculino = (RadioButton) findviewbyid(r.id.radiobuttonmasculino); radfeminino = (RadioButton) findviewbyid(r.id.radiobuttonfeminino); tgbum = (ToggleButton) findviewbyid(r.id.togglebutton1); imgbotao = (ImageButton) findviewbyid(r.id.imagebuttonum); btnexibir.setonclicklistener(this); imgbotao.setonclicklistener(this); radgrupo = (RadioGroup) findviewbyid(r.id.radiogroupum); radgrupo.setoncheckedchangelistener(this); Temos também que adicionar o método oncheckedchanged. public void oncheckedchanged(radiogroup group, int checkedid) { RadioButton radbotao = (RadioButton) this.findviewbyid(checkedid); if (radbotao.gettext().equals("sexo Feminino")) { imgbotao.setimageresource(r.drawable.menina); else { imgbotao.setimageresource(r.drawable.menino); Página 6 de 6