Android. Interfaces: widgets

Documentos relacionados
TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

Usando e Gerenciando Activities

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Desenvolvimento de um aplicativo básico usando o Google Android

Programação para Dispositivos Móveis. Activity e Intent

Programação para Dispositivos Móveis

Programa de Dispositivos Móveis

Android. Interfaces: widgets

Prof. Jhonatan Fernando

Desenvolvimento de um aplicativo básico usando o Google Android

Android OLÁ MUNDO MÓVEL. Prof. Dr. Joaquim assunção.

Navegar entre páginas Necessário o uso de Intent. Intenção de ir a algum lugar, acessar outros recursos, outros apps.

Programação para Dispositivos Móveis. Activities

Expectativa de respostas

Desenvolvimento de Aplicativos Android

Android Layout Manager. Ivan Nicoli

Criando as primeiras telas (Activity)

Programação para Dispositivos Móveis

Desenvolvimento Android. Pontapé inicial...

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

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

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

Prof: Ricardo Quintão Site:

Mensagens. Para conhecimento. Renomear arquivos. Botão Direito no arquivo > Rafactor > Rename Shift + F6

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

Fragments. Criar um novo projeto. Selecionar a API. Navigation Drawer Activity. Fragments. Luiz Eduardo Guarino de Vasconcelos

Capítulo 02: Cadastro de Alunos

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

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

Curso de Android - 2 Novas Activities. SECAP Prof. Rone Ilídio - UFSJ

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

Prof: Ricardo Quintão Site:

Retrofit. Criar um novo projeto. Selecionar a API. Retrofit para consumir Web Service Luiz Eduardo Guarino de Vasconcelos

PROGRAMAÇÃO MOBILE Estudo de Caso

Tutorial Android Speech

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

API's e Aplicações para Android

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

AULA 3. Minicurso PET-EE UFRN

Log, Ciclo de Vida e Diálogos. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Android I N T R O D U Ç Ã O À P R O G R A M A Ç Ã O P R O F E S S O R L E O N A R D O C. R. S O A R E S - L A R B A C K

Programação para a Plataforma Android Aula 16. Fragmentos

Prof: Ricardo Quintão Site:

Android: Ciclo de vida da Activity

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Programação Android. Objetivos Gerais:

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

JavaFX Classe de Controle e Eventos. Prof. Vicente Paulo de Camargo

Programa de Dispositivos Móveis

Programação para Dispositivos Móveis

Mais Elementos da Interface com o Usuário. Prof. Fellipe Aleixo

Windows Forms Applications - Introdução. Prof. Robinson Alves IFRN

JavaFX Classe de Controle e Eventos. Prof. Vicente Paulo de Camargo

Selecione o WPF Application dentro de Templates > Visual C# > Windows

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

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

Android DEFINIÇÕES E CICLO DE VIDA. Prof. Dr. Joaquim assunção.

Desenvolvimento de aplicações na plataforma Google Android

Programação de Dispositivos Móveis

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016.

Avisos e Notificações aos Usuários

Prof: Ricardo Quintão Site:

CURSOS ANDROID. Prof: Igor Portela

Computação II Orientação a Objetos

Programação para Dispositivos Móveis. Banco de Dados (SQLite)

Programação para a Plataforma Android Aula 13. Localização

Programação para Dispositivos Móveis

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Visual Basic.NET Image Lists, Tree e List Views, Toolbars, Status e Progress Bars e Tab Controls Lista de Exercícios

Computação Móvel Activity (Ref. Cap. 4)

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

Com a OABRJ Digital você trabalha de forma colaborativa, simples e objetiva, em uma única tela.

Android INTERFACE GRÁFICA & LAYOUT. Prof. Dr. Joaquim assunção.

Android Banco de Dados. Ivan Nicoli

Programação para a Plataforma Android Aula 2. Aula 2 Views

Programação para Android

AULA 2. Minicurso PET-EE UFRN

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

Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android. Realização de Dinâmica Hands- On para Construção de uma App Android

Geração Automática de Código Android Eficiente a partir de Modelos UML

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

Introdução ao Desenvolvimento para Dispositivos Móveis

INTRODUÇÃO À TECNOLOGIA SERVLETS

ANDROID APRENDIZ. Um guia para iniciantes Crie seu primeiro aplicativo Android

p Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos fonte de Java.

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

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

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

Criar um novo projecto

CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android

Programação para a Plataforma Android Aula 4. Objetos Gráficos

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

Programação de Dispositivos Móveis

Desenvolvimento Android.

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Especializado Desenvolvimento de Aplicações para Android

Executar uma macro clicando em um botão da Barra de Ferramentas de Acesso Rápido

05 Como utilizar POO no ambiente gráfico do C#?

Transcrição:

Android Interfaces: widgets

Relembrando... Após a criação do projeto, será criada uma estrutura de diretórios necessária para um projeto Android. A pasta src contém os fontes das classe que representam as Activity, etc... A pasta gen contém uma classe utilitária R.java, gerada automaticamente o o Recomenda-se não alterar esta classe manualmente é utilizada para facilitar a obtenção dos componentes ou recursos apenas informando o seu nome. 2

Interface Gráfica com Usuário Interface com usuário é baseada em View e ViewGroup A classe View serve como base para subclasses denominadas Widgets que oferecem uma forma de implementar os elementos gráficos de um interface o TextView, Button, TextEdit, RadioButton, Checkbox, etc ViewGroup representa um container de Views e também de ViewGroups. o classe base para componentes de layouts, como LinearLayout, FrameLayout, AbsoluteLayout, RelativeLayout, TableLayout, etc. 3

View Estrutura de dados, cujas propriedades armazenam dados do layout e determinada área de interface. Capaz de gerenciar suas propriedades como proporção, posição, foco, aparência (baseado no status), scrolling. 4

Como criar interfaces Definição por XML o Escolha normalmente usada pelos desenvolvedores Programação o Usada para criação dinâmica de telas 5

Termos Interface de Usuário - View, Control, Widget Representam elementos de interface de usuário; Incluem: botões, grades, listas, janelas, entre outros; - Container Visão que contém outras visões; - Layout Arquivo XML utilizado para descrever a visão; 6

android.widget O pacote android.widget reúne elementos gráficos para serem utilizados para interação humano aplicação o TextView o EditText o Button o Outros... 7

Widgets O pacote android.widget reúne elementos gráficos para serem empregados para interação homemmáquina da aplicação. Arraste um Button da Palette para a tela. Mantenha o Button selecionado e veja as propriedades na aba Properties Procure a propriedade Id e altere para: @+main/btnnavegar. Aproveite e também altere o Text para Navegar. 8

Interface de Usuário Esta UI contém: - um container Name; - um container Address; - um container Parente; 9

Editor de Layout Um ponto interessante na tecnologia adotada pelo Android: o forma que é desenvolvida a interface o Em Java costumamos criar interfaces pelo código o Nesta plataforma as interfaces por padrão são feitas em arquivos.xml. 10

Associando XML ao Código Fonte Activity gerada no processo de criação do projeto será a principal Arquivo.XML gerado será carregado no oncreate() da Activity acima. 11

Activity Componente do aplicativo que fornece uma tela no qual o usuário pode interagir Cada Activity controla uma janela na qual se pode desenhar sua interface com o usuário. Um aplicativo normalmente consiste de múltiplas Activities que são fracamente ligadas umas às outras (SO gerencia as activities) 12

Ciclo de vida de uma Activity 13

Ciclo de vida de uma Activity 14

Vida de uma Activity Acontece entre a primeira chamada para oncreate até a chamada do finally() que resulta no evento ondestroy(). Uma Activity irá fazer toda a configuração do estado de suas propriedades no OnCreate() e liberar todos os recursos remanescentes em ondestroy(). 15

Vida de uma Activity 16

Tempo de visibilidade de uma Activity Acontece entre uma chamada para onstart() até uma chamada correspondente para onstop(). Durante este período o usuário pode ver a Activity na tela, embora não possa estar em primeiro plano e interagir com o usuário. Entre estes dois métodos que você pode manter os recursos que são necessários para mostrar a atividade para o usuário. 17

Tempo de visibilidade de uma Activity 18

Activity no topo da pilha Acontece entre uma chamada para onresume() até uma chamada correspondente para onpause(). Durante esse tempo, a Activity está na frente de todas as outras atividades e pode interagir com o usuário. 19

Resumindo... 20

Definem o ciclo de vida de uma Activity Invocam métodos na Activity o implementamos as funcionalidades requeridas. Eventos public class Activity extends ApplicationContext { protected void oncreate(bundle savedinstancestate); protected void onstart(); protected void onrestart(); protected void onresume(); protected void onpause(); protected void onstop(); protected void ondestroy(); } 21

Eventos oncreate(): Chamado quando a Activity é criada pela primeira vez. onrestart(): Chamado após uma Activity ser parada (stop), preparando a Activity para retomada do topo da pilha; onstart(): Chamado quando a Activity está se tornando visível para o usuário; 22

Eventos onresume(): Chamado quando a Activity vai começar a interagir com o usuário. Neste ponto, sua atividade está no topo da pilha de atividade. onpause(): Chamado quando o sistema está prestes a começar a retomar uma Activity anterior. o o Usado para salvar alterações não salvas da Activity corrente. Implementação deve ser muito rápida porque a próxima Activity não será iniciada até que esse método retorne. 23

Eventos onstop(): Chamado quando a Activity já não é visível para o usuário, porque outra Activity está cobrindo toda a tela. ondestroy(): A última chamada recebida pela Activity antes de ser destruída, isso porque a Activity foi finalizada pelo método finally() ou o espaço da memória está sendo requerido pelo sistema. 24

Como criar uma activity 25

Como criar uma Activity 26

Como criar uma Activity 27

28

29

Manipulando o click do botão de Tela 30

Observando o ciclo de vida 31

Output das mensagens 32

TextView utilizado para exibir um texto e permitir a sua edição. Por padrão sua configuração não permite a edição, substitui o Label utilizado nas outras tecnologias. 33

EditText Herdeiro de TextView sua configuração permite a edição de texto por padrão, o similar ao TextBox (Framework.NET) ou o do JTextFied (Java). 34

Button Controle utilizado para disponibilizar ações ao usuário Pode assumir o comportamento o clicável (click-button) ou o pressionado com estado (push-button). Por padrão o comportamento é click-button. 35

Exercício Criar um projeto para demonstrar o uso do TextView, EditText e Button. Neste novo projeto vamos exigir um texto e ao clicar no botão o texto será transformado em um texto todo maiúsculo. 36

Exercício 37

Exercício 38

ToggleButton botão que exibe um estado "ON" ou "OFF" no qual o usuário pode pressionar e alterar o estado caso queira. Exercício: o Crie um projeto simples com um ToggleButton na tela, e a medida que ele pressiona ou libera vamos escrever no output a ação executada. 39

Solução 40

RadioButton e RadioGroup RadioButton : botão de dois estados: marcado ou desmarcado. o o o Quando está desmarcado, o usuário pode pressionar e marcar. Depois de marcado o RadioButton não pode ser desmarcado pelo usuário pela interface (diretamente). Não faz sentido usar um RadioButton isolado. Utiliza-se grupos de RadioButtons associados em um RadioGroup, o o Quando o usuário marca um RadioButton, o RadioGroup automaticamente desmarca os demais. Utiliza-se o RadioGroup para gerenciar um conjunto de RadioButton no qual exigimos uma escolha do usuário dentre o grupo, ou seja, exigir uma escolha somente. 41

Exercício Crie um projeto para demonstrar o uso do RadioGroup. O usuário vai ter um RadioGroup na tela, e a medida que ele marca as opções vamos escrever na própria tela usando uma janelinha Toast 42

Lay-out do formulário 43

Código no oncreate // Como sempre, pegando os objetos da interface e // armazenando em atributos da classe this.rdggrupoop01 = (RadioButton)this.findViewById(R.main.rdgGrupoOp01); this.rdggrupoop02 = (RadioButton)this.findViewById(R.main.rdgGrupoOp02); this.rdggrupoop03 = (RadioButton)this.findViewById(R.main.rdgGrupoOp03); // Criando os eventos, só que em vez de criar um evento // para cada componente conforme os demais exemplos // vou criar um único tratador de evento (ver o código a seguir) this.rdggrupoop01.setonclicklistener(this.rdggrupo_click); this.rdggrupoop02.setonclicklistener(this.rdggrupo_click); this.rdggrupoop03.setonclicklistener(this.rdggrupo_click); // Marcar como a Opção 1 como padrão this.rdggrupoop01.setchecked(true); 44

Tratador de eventos /** * Tratador do evento Click para todos as opções Radio */ private RadioButton.OnClickListener rdggrupo_click = new RadioButton.OnClickListener() { public void onclick(view v) { String str = "Opção 1 : " + rdggrupoop01.ischecked() +"\n"; str += "Opção 2 : " + rdggrupoop02.ischecked() + "\n"; str += "Opção 3 : " + rdggrupoop03.ischecked(); }; } // O Toast será estudado mais a frente, apenas use ele // para exibir uma pequena janela com um texto Toast.makeText(Main.this, str, Toast.LENGTH_SHORT).show(); 45

CheckBox Ao contrário do RadioButton o CheckBox pode estar sozinho, ter mais de um CheckBox marcado ao mesmo tempo, e até não ter nenhum marcado. Não requer controlador de grupo. 46

Exercício Criar um projeto para demonstrar o uso do CheckBox. O usuário vai marcar CheckBox dizendo se tem gatos e cachorros 47

Código do oncreate public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); // Como sempre, pegando os objetos da interface e // armazenando em atributos da classe this.ckbcachorro = (CheckBox)this.findViewById(R.main.ckbCachorro); this.ckbgato = (CheckBox)this.findViewById(R.main.ckbGato); } // Criando os eventos, só que em vez de criar um evento // para cada componente conforme os demais exemplos // vou criar um único tratador de evento (ver o código // mais abaixo) this.ckbcachorro.setonclicklistener(this.rdggrupo_click); this.ckbgato.setonclicklistener(this.rdggrupo_click); 48

Tratador do evento Click /** * */ private CheckBox.OnClickListener rdggrupo_click = new CheckBox.OnClickListener() { public void onclick(view v) { String str = "Possui cachorros : " + ckbcachorro.ischecked() + "\n"; str += "Possui gatos : " + ckbgato.ischecked(); }; } Toast.makeText(Main.this, str, Toast.LENGTH_SHORT).show(); 49

Resumindo.. Criar um projeto para demonstrar o uso dos widgets: o o o o TextView, EditText e Button: ao clicar no botão o texto será transformado em maiúsculas; ToggleButton: a medida que ele pressiona ou libera, escrever no output a ação executada. RadioGroup: a medida que ele marca as opções, escrever na tela usando uma janelinha Toast CheckBox: a medida que marcar a opção, escrever na janelinha Toast. 50