[Aula 04] Feedback e Experiência do Usuário

Agenda:

  • Entendendo a importância do feedback para a experiência do usuário.

  • Implementando feedbacks instantâneos: Toasts e Snackbars.

  • Incorporando imagens para enriquecer a UI.

  • Desafio prático: otimização de feedback e personalização de imagens.

1. Introdução à experiência do usuário e sua importância

A experiência do usuário (UX) é um elemento crucial no desenvolvimento de aplicativos. Garantir que os usuários entendam e desfrutem de sua interação com o aplicativo pode ser a diferença entre o sucesso e o fracasso de um produto.

2. Implementando feedbacks: Toasts e Snackbars

Feedbacks visuais e sonoros informam ao usuário que suas ações tiveram efeito. Vamos explorar duas formas populares de fornecer feedback no Android:

Toast

Uma pequena mensagem que aparece e desaparece após alguns segundos. Ideal para feedbacks não críticos.

Toast.makeText(getApplicationContext(), "Ação realizada!", Toast.LENGTH_SHORT).show();

Snackbar

Semelhante ao Toast, mas oferece mais funcionalidades, como ações interativas.

  • Kotlin:

Snackbar.make(view, "Ação necessária", Snackbar.LENGTH_LONG)
            .setAction("Ação") {
                // Código para a ação
            }.show()
  • Java:

Snackbar.make(view, "Ação necessária", Snackbar.LENGTH_LONG)
        .setAction("Ação", new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Código para a ação
            }
        }).show();

Escolha o feedback adequado ao contexto. Por exemplo, use Snackbars quando uma ação adicional puder ser tomada.

3. Carregamento de imagens: uso de imagens previamente salvas

Enriquecer sua interface com imagens pode tornar a experiência do usuário mais agradável.

  1. Adicione imagens na pasta res/drawable.

  2. No XML, use um ImageView para exibir a imagem.

    <ImageView
        android:id="@+id/myImageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/nome_da_imagem" />

A otimização de imagens é fundamental para garantir que o aplicativo tenha um bom desempenho e não ocupe muito espaço.

4. Tradução e Localização (i18n)

Traduzir e adaptar seu aplicativo para diversos públicos globais não é apenas uma questão de acessibilidade, mas também uma estratégia inteligente para ampliar seu alcance no mercado. Vamos explorar como podemos fazer isso no Android, utilizando boas práticas e algumas ferramentas facilitadoras.

Acesse a [documentação oficial](https://developer.android.com/guide/topics/resources/localization?hl=pt-br) do Android sobre como localizar seu app.

Recursos de String e Localização

Utilizando o conceito de i18n (uma abreviação de "internationalization", onde 18 representa o número de letras omitidas), devs podem preparar seus aplicativos para uso global.

String Resources

Colocar todas as strings do aplicativo em arquivos de recursos é crucial para manter uma aplicação limpa e fácil de localizar.

<!-- Em res/values/strings.xml -->
<string name="welcome_message">Welcome to our App</string>

<!-- Em res/values-pt/strings.xml -->
<string name="welcome_message">Bem-vindo ao nosso App</string>

Referencie no código e o sistema selecionará a string correta automaticamente.

val welcomeMessage = getString(R.string.welcome_message)

Trabalhando com Tradutores

É uma prática comum enviar arquivos XML para tradutores ou agências externas. O Android Studio possui uma ferramenta útil chamada Editor de Recursos de String que permite editar visualmente as strings do aplicativo. No entanto, quando estamos enviando para tradutores externos, é mais fácil enviar o arquivo XML ou gerar um arquivo CSV contendo todos os textos, tornando a colaboração com tradutores externos mais simplificada.

Localização de Imagens

Lembre-se de que a localização não é apenas textual. Imagens e outros elementos gráficos podem precisar de adaptação para se alinharem com as culturas locais.

<!-- Em res/drawable/ -->
<ImageView
   android:src="@drawable/welcome_image"
   ... />

<!-- Em res/drawable-pt/ -->
<ImageView
   android:src="@drawable/welcome_image_pt"
   ... />

Firebase ML e Cloud Translation API

O Firebase oferece uma variedade de ferramentas para ajudar na tradução e internacionalização de aplicativos, incluindo o Firebase ML para tradução em tempo real e o Cloud Translation API.

Nota: Enquanto o Firebase pode oferecer uma camada adicional de flexibilidade e automação, é sempre uma boa prática garantir que traduções automáticas sejam revisadas por falantes nativos para garantir precisão e autenticidade.


Nesta aula, você aprendeu sobre a importância do feedback e da experiência do usuário, e como imagens e mensagens interativas podem melhorar a sensação de fluidez e resposta do seu aplicativo. Na próxima aula, mergulharemos em testes e otimizações no emulador do Android Studio!

Last updated