Criando projeto:
Tutorial para criação de um projeto com troca de mensagem entre duas telas e compartilhamento.
O objetivo é conduzir o leitor nos primeiros passos da programação de um aplicativo Android, na prática.
Considerando que o Android Studio já esteja instalado.
Para este teste foi utilizado o Android Studio 3.3.
======== MÃOS A OBRA ========
- Clique em: + Start a new Android Studio project
- Escolha um template (neste caso, Empty Activity) e clique Next
- De um nome para o projeto, escolha a pasta (diretório) de armazenamento, a versão mínima do Android e clique Finish
- Assim que o projeto for criado, é interessante dar o primeiro Start para ver se executa sem problemas. Inclusive, se estiver usando uma AVD (Android Virtual Divice), procure não fechar enquanto estiver fazendo testes, para economizar tempo nos testes.
- Entendendo pontos importantes da estrutura criada
- Principais pastas:
- manifests: Controle da aplicação em relação à Activityes, permissões, etc.
- java: Código fonte java. Cada Activity criada gera um código Java (back-end da activity) automaticamente. Também são registradas no manifesto automaticamente.
- res: Pasta de armazenamento de todos os recursos com influência visual do app. Telas, Imagens, Ícones, Strings, etc.
Cada recurso criado deve ter um ID específico. Uma classe chamada R é criada automaticamente com cada ID de cada recurso criado para possibilitar o mapeamento e utilização, principalmente no back-end.
- Veja mais sobre a classe R: https://developer.android.com/guide/topics/resources/accessing-resources?hl=pt-br
- res/layout: Onde serão armazenadas as telas (activityes)
- res/values: Onde serão armazenadas as strings a serem relacionadas nas activityes.
- Renomeando Activityes / Classes
- Activity: Botão direito sobre o arquivo / Refactor / Rename:
- Atenção: nomes de activityes devem ser sempre em letras minúsculas.
- Classe Java: Botão direito sobre o arquivo / Refactor / Rename:
- Nomes de classes: Iniciais sempre maiúsculas.
- Activity: Botão direito sobre o arquivo / Refactor / Rename:
- Criando Strings em Values
- Em res/values/strings.xml: Criar as chaves com valores que serão utilizadas como mensagens no aplicativo.
- Crie todas as chaves necessárias através da ferramenta mostrada no vídeo, ou as digite no strings.xml:
Chaves criadas para o app: |
<resources> <string name=“app_name”>SendMessage</string> <string name=“edit_mensagem”>Sua Mensagem</string> <string name=“button_compartilhar”>Compartilhar</string> <string name=“button_enviar”>Enviar</string> <string name=“edit_m2″>Digite a sua mensagem aqui…</string> </resources> |
- Arrastando componentes para a Activity, vinculando os componentes de uma Constraint Layout e definindo Ids.
Definindo componentes.
Definindo IDs dos componentes.
· TextView: tvMensagem· EditText: editTextMensagem· Button: btnEnviar
- Arrastar cada componente para a activity e fazer as devidas ligações para um layout responsivo.
- Utilizar a janela de atributos para colocar os nomes de cada componente.
- Ligando as mensagens definidas em values/strings.xml na activity:
- Há várias formas de fazer as coisas na IDE Android Studio. Pode-se digitar na janela de atrigutos:
- Pode-se acionar ferramenta “…” ou ainda passar a activity para o modo “Text” e digitar diretamente no código fonte da activity.
- Execução
- Clique em Rum App:
- Criando uma segunda activity
- Clicar com botão direito sobre a pasta layout / New / Activiry / Empty Activity
- Desenhando nova activity, definindo IDs e mensagens.
- Chamando uma segunda activity
- Primeiramente vamos criar 3 campos na classe base da activity principal
- Agora, vamos vincular os campos da activity com o código back-end para poder colocar o evento click do btnEnviar em escuta e obedecer o comando do usuário no aplicativo:
Como deve ficar após digitação do código:
- Ao ser acionado o evento click do aplicativo:
- Linha 27: criar Bundle para guardar os dados a serem enviados para segunda tela;
- Linha 29: obter mensagem do campo de texto da tela;
- Linha 31: atribuir o texto capturado da tela ao Bundle;
- Linha 33: criar Intent que possibilitará o controle de chamada da segunda tela;
- Linha 35: atribuir o Bundle com os dados na Intent criada;
- Linha 37: chamada da segunda tela.
- Observe cada linha de comentário do código.
- Executando chamada da segunda tela:
- Programando a segunda tela.
- A segunda tela deve receber os dados, exibir na própria activity e compartilhar a mensagem recebida através do evento click do botão btnCompartilhar.
- Execução final e testes