Buscar

bd3d0d22-0514-42af-9fb9-0c99394107e1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROGRAMAÇÃO 
MOBILE
Aline Zanin 
Menus e views para 
coleções de dados
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
  Descrever os componentes de menu do Android.
  Diferenciar as views para coleções no Android.
  Ilustrar a aplicação de componentes de menu e views.
Introdução
A programação de um aplicativo Android é realizada fazendo-se uso de 
uma linguagem de programação, de alguma ferramenta para desen-
volvimento e de componentes utilizados para construção de layouts. As 
principais linguagens de programação para Android são Java e Flutter, 
por serem as duas linguagens suportadas pelo principal Integrated Deve-
lopment Environment (IDE) (ou “ambiente de desenvolvimento integrado”) 
para desenvolvimento Android, o Android Studio. No Android Studio, a 
construção de interfaces (telas) dos aplicativos pode ser feita manualmente 
ou utilizando-se uma ferramenta visual que permite arrastar os elementos 
de uma paleta de componentes para a tela. 
Neste capítulo, você vai estudar sobre a criação de views e menus 
diretamente no código fonte, utilizando a linguagem XML. 
1 Componentes de menu
Os componentes de menu, como diz o nome, permitem a adição de menus em 
um aplicativo. Os menus são mecanismos existentes para facilitar o acesso 
a diversas funcionalidades que necessitam de acesso rápido nos aplicativos. 
O Android possui três tipos principais de menus que podem ser utilizados 
nos aplicativos, sendo eles: menu de opções e barra de aplicativos, menu de 
contexto e menu pop-up. A Figura 1 ilustra esses menus. 
Figura 1. Tipos de menus. (a) Menu de opções e barra de aplicativos; (b) modo de ação 
contextual e menu de contexto; (c) menu pop-up.
Fonte: Adaptada de Google Developers (2019).
Neste capítulo, focaremos de forma prática na criação de menu de opções. 
Existem duas formas de inserir um menu em um aplicativo Android: uma 
delas é criando o menu no arquivo de layout; e a outra é fazer a criação do 
menu diretamente no código Java. 
Inserindo um menu
Para inserção de um menu em um aplicativo Android precisamos fazer dois 
processo: o primeiro é a criação do XML, e o segundo é a programação Java. 
O XML do menu é criado em um local separado do XML das telas, isto porque 
o menu poderá e deverá ser utilizado em diversas telas. 
Criação do arquivo .xml — Antes de criar o arquivo menu.xml, criaremos 
um diretório, onde este arquivo será armazenado. Para isso, clique com o botão 
direito na pasta res e, então, clique em New > Android Resource Directory. 
Neste momento será aberta uma nova janela; nesta janela, deverá ser selecio-
nada a opção menu, no item Resource Type. Uma vez criado o diretório menu, 
clique com o botão direito no diretório menu (recém criado) e então clique 
em New > Menu Resource File e insira menu no fi le name. Este processo pode 
ser visualizado na Figura 2.
Menus e views para coleções de dados2
Uma vez criado o arquivo xml de menu, vamos inserir um elemento do 
tipo item que depois através do java receberá todos os itens que constarão no 
menu. Utilizaremos o código a seguir:
Figura 2. Criação de diretório para arquivo menu.xml.
3Menus e views para coleções de dados
 
Confi guração no arquivo .java — Em uma aplicação Android, para 
cada tela criada (arquivos .xml criados na pasta res/layout) é criada uma 
classe Java de mesmo nome na pasta Java. Em toda classe que representa 
uma tela existe um método gerado pelo próprio Android Studio chamado 
Oncreate. Este método é iniciado quando a tela é aberta, e é ele que defi ne 
o que será exibido. 
Os menus são criados pela activity que está ativa quando o botão menu é pres-
sionado. Ao pressionar um botão é chamado o método onCreateOptionsMenu, 
que recebe como parâmetro um objeto do tipo menu e é preenchido com 
os itens do menu. Este método não é gerado de forma automática, você precisa 
programá-lo; contudo ele será uma sobrescrita de um método já existente em 
uma biblioteca Java. 
O método onCreateOptionsMenu recebe como parâmetro um objeto 
do tipo Menu, no qual precisamos popular as opções de acordo com as infor-
mações do XML que acabamos de criar, que se encontra dentro de res/menus. 
Para isso, é preciso passar os dados do XML para o objeto recebido como 
parâmetro, que é justamente o papel de uma classe chamada MenuInflater 
(DEITEL; DEITEL; WARD, 2016; MONTEIRO 2012).
Agora, adicionaremos os itens de menu com o comando menu.add. 
Criaremos um item sair e um item voltar e, depois, adicionaremos uma 
linha de código (MenuInflater) que relacionará o arquivo de xml que 
criamos anteriormente com este código Java, e passar os dados do XML para 
o objeto recebido como parâmetro. O código então ficará assim:
Menus e views para coleções de dados4
2 Views no Android: ListView e GridView
Veremos agora algumas das views disponíveis no Android, bem como suas 
aplicabilidades. Para simplifi car o conceito de views, entenderemos que a view 
é um retângulo na tela utilizado para exibir algum conteúdo. Este conteúdo 
pode ser uma imagem, um pedaço de texto, um botão, uma lista ou qualquer 
outra coisa que o aplicativo desejar exibir. Todas as views juntas formam o 
layout da interface de um aplicativo (CORDEIRO, [2016?]).
Diversos são os tipos de views que podem ser utilizados em um aplicativo 
Android. Neste capítulo conheceremos sete delas, e depois exploraremos 
em detalhes a utilização das views para coleções ListView e GridView: 
  TextView: utilizado para exibir um de texto análogo a uma label em 
sistemas web;
  ImageView: utilizado para exibir uma imagem;
  Button: utilizado para criação de botão; ao ser clicado efetua alguma ação;
  ImageButton: tem ação de botão, mas é exibido como uma imagem;
  EditText: é um campo de texto editável para a entrada de dados;
  ListView: utilizado para criação de listas;
  GridView: utilizado para a representação de um grid.
A ListView e o GridView são as implementações mais conhecidas 
de view para coleções, isto é, de views que permitem representar múltiplos 
valores. ListView e GridView podem ser utilizadas para os mesmos tipos 
de dados e objetivos de utilização, contudo, a ListView, como sugere o nome, 
é utilizada para criação de interfaces em lista, e o GridView para criação de 
interfaces que representam tabelas, contendo linhas e colunas. 
5Menus e views para coleções de dados
A Figura 3 ilustra este cenário para uma lista de nomes de pessoas, sendo 
à esquerda exibida a aplicação Android com um ListView, e à direita a 
mesma aplicação Android com um GridView. A aplicação demonstrada 
nesta figura será também demonstrada passo a passo posteriormente. No 
exemplo demonstrado na Figura 3, é utilizada uma lista de strings, contudo, 
listas e grids podem ser utilizados para os mais diversos tipos de aplicações, 
como por exemplo, botões, imagens, links, etc.
Figura 3. Layouts ListView e GridView.
3 Criação e utilização de ListView e GridView
ListView e GridView são elementos utilizados no Android para exibição de 
conteúdo complexo, isto é, de conteúdo que não é único como uma label, mas 
completo como uma tabela ou uma lista. Assim como qualquer objeto inserido 
da interface de um aplicativo Android, para manipulação de ListView é ne-
cessário criar um código Java e inserir valores em um arquivo xml. Desta forma, 
interagiremos com código Java e xml, criaremos uma lista de objetos e, através 
de um adapter, inseriremos esta lista em um ListView. 
O ListView tem uma função muito similar à classe ListActivity. 
Utilizando-se ListActivity, contudo, a Lis ocupará toda a tela, não po-
dendo ser utilizada com outros elementos. Já o ListView permite a utilização 
conjunta a outros elementos. O ListView é parte da classe ListActivity 
(LECHETA, c2016).
Menus e views para coleções de dados6
Adapter é uma estrutura utilizada para formatar views, popularmente 
utilizado com ListView e GridView. Ele é utilizado porque, pelo padrão 
de um ListView ou GridView, sem adapter é possivelpenas exibir uma 
lista simples de palavras, contudo com apdater você pode, por exemplo, 
inserir imagens ou mostrar outros tipos de informações. O Android fornece 
algumas implementações de adapters que podem ser utilizadas, sendo os 
principais: SimpleCursorAdapter, ArrayAdapter e CursorAdap-
ter. Todos eles permitem formatar views, contudo, o ArrayAdapter 
apenas permite manipular dados com base em listas ou arrays. Já o Sim-
pleCursorAdapter e o CursorAdapter permitem manipular dados 
vindos de banco de dados (CORDEIRO, [2017?]).
Criação da Estrutura XML para ListView
Em seu projeto no Android Studio, crie uma nova activity do tipo Empty 
Activity, e dê a ela o nome de ListaPessoasActivity.xml. Uma vez criada esta 
nova activity, abra-a e acesse a edição via código (disponível no canto superior 
direito, neste símbolo ). Remova o elemento TextView que foi inserido 
automaticamente pela plataforma, para que possamos utilizar a interface toda 
para o ListView.
No Android Studio, a criação de uma nova activity deve ser feita no diretório src\main\
res\layout, que é o diretório que armazena os arquivos de layouts. Activity é o nome 
dado para uma classe que contém xml de layout.
Para inserir um ListView você deve utilizar o seguinte código:
7Menus e views para coleções de dados
Ao digitar <ListView e teclar enter, você verá que as próximas duas 
linhas serão inseridas automaticamente e trarão o valor wrap_content para 
os parâmetros layout_width e layout_height. Estes parâmetros são 
configurações de tamanho de campo, sendo que wrap_content representa 
que o elemento ocupará apenas o espaço que ele precisar, não ocupando a 
tela toda. Vamos alterar este valor para math_parent, que significa que o 
elemento utilizará todo o espaço disponível na tela. Além disso, foi inserido 
um ID, que é o que nos permite localizar este ListView nas próximas 
etapas. O ID é inserido através do seguinte código: android:id="@+id/
lbDescricao", completando o código com sintaxe a seguir.
Implementação Java para ListView
Ao criar a Activity.xml (chamada de ListaPessoasActivity.xml), a IDE au-
tomaticamente gerará uma classe java com o mesmo nome e a extensão .java, ou seja, 
ListaPessoasActivity.java. Abra esta classe, e dentro dela existirá um mé-
todo chamado onCreate; dentro dele vamos primeiramente inserir o código que re-
laciona o ListView criado no XML com o código Java, através do ID que foi criado 
no xml, ou seja, o listPessoa (linha 5). Depois, precisamos criar a lista que será exi-
bida na tela. Faremos isso logo abaixo do ListView inserido anteriormente (linha 6). 
Na sequência, criaremos o adapter. Como estamos utilizando uma lista de dados 
baseada em array, utilizaremos simple_list_item_1 (linha 7). Por fi m, 
atribuiremos o adapter para a ListView (linha 8).
Implementaç ã o de GridView 
Caso deseje exercitar a criação de GridView, a implementação é bem similar, 
sendo necessário pequenos ajustes. O primeiro ajuste é no xml, onde é necessário 
alterar de ListView para GridView. A segunda alteração é no Java, onde 
também no lugar de ListView deverá ser utilizado GridView, conforme segue:
Menus e views para coleções de dados8
CORDEIRO F. ListViews: aprenda, entenda e use sem moderação. [2017?]. Disponível 
em: https://www.androidpro.com.br/blog/desenvolvimento-android/listviews/. Acesso 
em: 24 abr. 2020.
CORDEIRO, F. Saiba como usar as Android Views da forma correta. [2016?]. Disponível em: 
https://www.androidpro.com.br/blog/desenvolvimento-android/android-views-intro/. 
Acesso em: 24 abr. 2020.
DEITEL, P.; DEITEL, H.; WALD, A. Android 6 para programadores: uma abordagem baseada 
em aplicativos. 3. ed. Porto Alegre: Bookman, 2016. 
GOOGLE DEVELOPERS. Menus. 2019. Disponível em: https://developer.android.com/
guide/topics/ui/menus?hl=pt. Acesso em: 24 abr. 2020
LECHETA, R. R. Google Android: aprenda a criar aplicações para dispositivos móveis com 
o Android SDK. 5. ed. São Paulo: Novatec, c2016.
MONTEIRO, J. B. Google Android: crie aplicações para celulares e tablets. São Paulo: 
Casa do Código, 2012.
9Menus e views para coleções de dados
Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a 
rede é extremamente dinâmica; suas páginas estão constantemente mudando de 
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade 
sobre qualidade, precisão ou integralidade das informações referidas em tais links.
Menus e views para coleções de dados10

Continue navegando