Buscar

Alertas e a classe Toast


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 14 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 14 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 14 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

DESENVOLVIMENTO 
PARA DISPOSITIVOS 
MÓVEIS
Fabiano Berlinck Neumann 
Alertas e a classe Toast
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 � Explicar o que são os alertas da classe Toast.
 � Exemplificar o uso de alertas por meio do Toast.
 � Aplicar os alertas em projetos, por meio do Toast.
Introdução
Todas as pessoas que possuem aparelhos com sistema operacional 
Android já devem ter recebido várias formas de mensagens ao usar os 
aplicativos, seja com alertas da classe Toast, notificações ou caixas de 
diálogo.
Cada uma das formas de envio de mensagem para o usuário tem 
suas particularidades e recomendações para uso de cada tipo de alerta. 
Em alguns casos, é necessário solicitar ao usuário tomar uma decisão, 
enquanto em outros basta apresentar uma informação que não chega 
a causar prejuízo se não for lida.
Neste capítulo, você aprenderá o que são e como funcionam os 
alertas da classe Toast e verá exemplos de seu uso nas linguagens Java 
e Kotlin, além de sua aplicação em um caso.
Alertas da classe Toast 
Os Toasts são usados para enviar mensagens rápidas e simples, quando 
não existe a necessidade de interação com o usuário — por exemplo, na 
configuração do despertador, há mensagem informando o tempo, em horas e 
minutos, que falta para despertar.
Segundo Leal (2011, documento on-line), o uso de alertas da classe Toast 
é recomendado quando as mensagens enviadas para o usuário não precisam 
obstruir o uso do aplicativo, já que esse tipo de alerta não toma o foco da 
Activity. Outro ponto importante é que, como esse tipo de alerta aparece e some 
depois de algum tempo, não é possível garantir que o usuário viu a mensagem. 
Portanto, não deve ser utilizado para mensagens críticas.
Veja, na Figura 1, um exemplo de alerta da classe Toast sendo exibido 
para o usuário ao sair do aplicativo de e-mails sem que a mensagem tenha 
sido enviada ao destinatário, quando o aplicativo salva o conteúdo digitado 
antes de ser fechado.
Figura 1. Exemplo de um alerta da classe Toast sendo apre-
sentado ao usuário.
Fonte: Zarelli (2012, documento on-line).
De acordo com Zarelli (2012, documento on-line), os Toasts são simples 
e podem ser facilmente utilizados por desenvolvedores Android iniciantes — 
em alguns casos, com apenas uma linha de código. A posição-padrão de 
exibição do Toast é no canto inferior da tela, centralizado horizontalmente, 
mas pode ser alterada com um método específico.
Alertas e a classe Toast2
Personalização de alertas Toast
Além da posição, também é possível personalizar o Toast em tamanho, 
imagens, textos, cores de fundo, entre outras características, o que, para 
Zarelli (2012, documento on-line), exige um pouco mais de conhecimento 
do desenvolvedor.
Seu uso é essencial para passar feedbacks de ações, sem a necessidade 
de criação de várias telas só para isso, ou perder a usabilidade da aplicação. 
Apesar de ter o objetivo de ser simples, pode ser personalizado para dar um 
aspecto diferenciado ao aplicativo.
Uso de alertas por meio do Toast
Os princípios de uso dos alertas da classe Toast, como forma de inicialização 
e manipulação, são os mesmos, independentemente da linguagem de progra-
mação utilizada (seja Java ou Kotlin), quando se trata do desenvolvimento de 
aplicativos nativos na plataforma Android.
Em ambas as linguagens, existe uma forma de instanciar os objetos para 
reaproveitá-los nos alertas mais vezes e outra que resume parte do trecho de 
código de forma a não armazenar o objeto sem necessidade.
Exemplos de uso em Java
No primeiro exemplo de uso de alertas Toast, é utilizado o método 
makeText(), que recebe três parâmetros — o contexto da aplicação, o texto 
e a duração — e retorna à instância do objeto de alerta criado, para ser apre-
sentado com o método show().
Context contexto = getApplicationContext();
String texto = "Mensagem Toast.";
int duracao = Toast.LENGTH _ SHORT; 
Toast toast = Toast.makeText(contexto, texto, 
duracao);
toast.show();
3Alertas e a classe Toast
O método getApplicationContext() retorna o contexto da aplicação que é 
utilizado como o primeiro parâmetro da função makeText(). A respeito do 
terceiro parâmetro dessa função, que trata da duração de exibição, segundo 
Leal (2011, documento on-line), apenas os valores Toast.LENGTH _ LONG 
e Toast.LENGTH _ SHORT são válidos, não sendo possível especificar 
valores em segundos ou milissegundos.
Outra forma de fazer a mesma coisa, com menos código, seria a seguinte:
Toast.makeText(getApplicationContext(), "Mensagem 
Toast.", Toast.LENGTH _ SHORT).show();
Em ambas as formas de exibir o alerta, o Toast é apresentado na posição-
-padrão, que é no canto inferior da tela. Caso seja necessário exibir o alerta 
em outra posição, é possível alterar por meio do método setGravity, que 
recebe como parâmetros uma constante da classe Gravity à posição do des-
locamento em relação aos eixos x e y, conforme pode ser observado a seguir. 
Toast toast = Toast.makeText(contexto, "Mensagem 
Teste com Gravity.", Toast.LENGTH _ LONG);
toast.setGravity(Gravity.CENTER _ HORIZONTAL | Gra-
vity.CENTER _ VERTICAL, 0, 0);
toast.show();
Observe, na Figura 2, como é exibido o alerta quando utilizado o método 
setGravity com as constantes de Gravity definidas como CENTER _ HO-
RIZONTAL e CENTER _ VERTICAL, e os offsets x e y como 0.
Alertas e a classe Toast4
Figura 2. Exemplo de um alerta da classe Toast sendo 
apresentado para o usuário por meio da utilização do 
método setGravity.
Fonte: Cury (2014, documento on-line).
Alertas da classe Toast também são utilizados no desenvolvimento Web e podem 
ser encontrados na documentação das bibliotecas Bootstrap e Materialize.
5Alertas e a classe Toast
Acesse os links a seguir para ver a documentação do uso de alertas da classe 
Toast para o desenvolvimento web, por meio das bibliotecas Bootstrap e Materialize, 
respectivamente.
https://qrgo.page.link/nn9is
https://qrgo.page.link/NwNRp
Exemplos de uso em Kotlin
Se observarmos o primeiro exemplo de uso de alertas na linguagem Kotlin com 
o primeiro da linguagem Java, é possível perceber o alto grau de semelhança 
na forma de programar o alerta da classe Toast entre as duas linguagens.
val contexto = applicationContext
val texto = "Mensagem Toast."
val duracao = Toast.LENGTH _ SHORT
val toast = Toast.makeText(contexto, texto, 
duracao)
toast.show()
Além do exemplo anterior, outro trecho de código que confirma a seme-
lhança no uso da classe Toast entre as linguagens é a forma de programar 
a função com menos código e armazenando com menos dados, conforme o 
exemplo a seguir:
Toast.makeText(aplicativolicationContext, 
"Mensagem Toast.", Toast.LENGTH _ SHORT).show()
Alertas e a classe Toast6
Em se tratando de mudança de posição, o código é tão semelhante quanto 
o que foi visto nos exemplos anteriores:
toast.setGravity(Gravity.TOP or Gravity.LEFT, 0, 0)
Dessa forma, pode ser observado que, independentemente da linguagem 
de programação escolhida, o desenvolvimento de alertas mais básicos é algo 
que até mesmo desenvolvedores com menos experiência conseguem realizar 
com facilidade.
Veja o tópico a seguir para saber mais sobre como personalizar o alerta, 
inserindo uma imagem e mais mensagens, cada uma com um estilo diferente.
Na linguagem Kotlin, as linhas não terminam com “;”, e as variáveis não possuem tipos 
fixos predeterminados.
Acesse o link a seguir para assistir a um vídeo que explica sobre a diferença de programar 
para Android entre as linguagens Java e Kotlin.
https://qrgo.page.link/GvgTo
Alertas aplicados em projetos
Consideremos uma empresa fictícia que decidiu criar o conceito de ícones 
informativos com dicas em seus aplicativos de diversos segmentos, para 
interagir com seus usuários por meio de envio de alertas com uma imagem, 
um título e uma descrição.
7Alertas e a classe Toast
Como o conceito utilizado pela empresa exige a personalização dos alertas 
na classe Toast, o programador criouo código-padrão em XML (arquivo 
chamado de toast.xml) do alerta personalizado para todos os aplicativos da 
empresa, em que cada um deles terá as imagens e os textos dos alertas de 
acordo com o tema do contexto onde estão inseridos, conforme segue:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.an-
droid.com/apk/res/android"
 android:orientation="vertical"
 android:layout _ width="fill _ parent"
 android:layout _ height="fill _ parent"
 android:id="@+id/toast _ layout _ root"
 android:padding="8dp" 
 android:background="#DAAA">
 <ImageView
 android:layout _ width="wrap _ content" 
 android:layout _ height="wrap _ content" 
 android:src="@drawable/icon"/>
 <TextView 
 android:id="@+id/titulo"
 android:layout _ width="wrap _ content" 
 android:layout _ height="wrap _ content" 
 android:text="Título"
 android:textSize="30sp"
 android:layout _ marginTop="10sp"/>
 <TextView 
 android:id="@+id/descricao"
 android:layout _ width="wrap _ content" 
 android:layout _ height="wrap _ content" 
 android:text="Descrição"
 android:textSize="18sp"/>
</LinearLayout>
Veja, na Figura 3, um exemplo de alerta personalizado com um componente 
de imagem por meio do ImageView, e quatro componentes de texto por meio 
do TextView.
Alertas e a classe Toast8
Figura 3. Exemplo de alerta personalizado, com mais com-
ponentes de texto e imagem no corpo do alerta.
Fonte: Zarelli (2012, documento on-line).
Dessa forma, o programador pode alterar a imagem e os textos do título 
e da descrição programaticamente em cada um dos aplicativos, como pode 
ser observado no trecho de código a seguir, utilizado para exibir o alerta 
personalizado:
LayoutInflater layoutInflater = getLayoutInflater();
 
int layout = R.layout.toast; //toast = nome do 
arquivo
ViewGroup viewGroup = (ViewGroup) findViewById(R.
id.toast _ layout _ root);
View view = layoutInflater.inflate(layout, 
viewGroup);
 
TextView titulo = (TextView) view.findViewById(R.
id.titulo);
titulo.setText(“Título alterado programaticamente”);
9Alertas e a classe Toast
TextView descricao = (TextView) view.findViewById(R.
id. descricao);
descricao.setText(“Descrição alterada 
programaticamente”);
 
Toast toast = new Toast(this);
toast.setDuration(Toast.LENGTH _ LONG);
toast.setView(view);
toast.show();
Nesse caso, é necessário inflar o leiaute por meio do método Inflate 
da classe LayoutInflater, com dois parâmetros: o primeiro é o leiaute do 
Toast, e o segundo é o componente root de exibição, elemento raiz e definido 
com o id toast _ layout _ root. Depois de alterar os elementos visuais, 
é necessário instanciar o objeto da classe Toast e definir o leiaute criado no 
XML, mas agora inflado, como a sua view, por meio do método setView().
Não se esqueça de que, para alterar programaticamente os elementos que desejar, 
é necessário definir um id no respectivo elemento do arquivo XML e recuperar o 
componente por meio do método findViewById.
Acesse o link a seguir para conhecer mais sobre programação para Android com a 
linguagem Kotlin, por meio de um projeto de exemplo.
https://qrgo.page.link/CQ9TX
Alertas e a classe Toast10
CURY, T. E. Enviando mensagens no Android via Toast. Thiago Cury, Porto Alegre, 13 
jul. 2014. Disponível em: https://www.devmedia.com.br/exibindo-mensagens-no-
-android-com-a-classe-toast/26668. Acesso em: 18 jun. 2019.
LEAL, L. [Android SDK] Alertas, Toasts, e Notificações. Fórum Script Brasil, São Paulo, 18 
ago. 2011. Disponível em: https://forum.scriptbrasil.com.br/topic/163089-android-sdk-
-alertas-toasts-e-notifica%C3%A7%C3%B5es/. Acesso em: 18 jun. 2019.
ZARELLI, G. B. Exibindo mensagens no Android com a classe Toast. DevMedia, Rio de 
Janeiro, 2012. Disponível em: https://www.devmedia.com.br/exibindo-mensagens-
-no-android-com-a-classe-toast/26668. Acesso em: 18 jun. 2019.
Leituras recomendadas
ANDROID Developers. [S. l.: S. n.], 2019. Disponível em: https://developer.android.com. 
Acesso em: 18 jun. 2019.
DEITEL, P.; DEITEL, H.; WALD, A. Android 6 para programadores: uma abordagem baseada 
em aplicativos. 3. ed. Porto Alegre: Bookman, 2016. 618 p.
11Alertas e a classe Toast