curso android 01: introdução
TRANSCRIPT
Desenvolvimento Android
Aline [email protected]
Slides• Esta apresentação está disponível em:
http://bit.ly/android01_intro
Trechos de códigos serão disponíveis em:
www.codeshare.io/lyhtt
Objetivo final
•Criar um aplicativo de vendas simples
• Em uma tela inicial, ele irá exibir uma lista de produtos com imagem e preços diferentes
• Ao clicar em um destes produtos, abrirá uma nova tela com detalhes e descrição do produto e um botão para comprar
Objetivo parcial
•Entender a estutura de um aplicativo•Criar uma página inicial com um botão que abre uma segunda página
Conteúdo
•Versões• IDE Android Studio•Estrutura do Projeto•XML x Java
Versões do Android
Desenvolvimento
• IDE - Android Studio
•Linguagem – Java• Layout XML
•Teste• Emulador• Smartphone Android
Novo Projeto
Testando
•Testar no emulador ou celular Android • (conectado via USB com modo desenvolvimento ligado)
Dica: não feche o emulador caso vá continuar testando o App!
Projeto
•Código Java• Pacotes e testes
Projeto
•Resources•Drawable – imagens• Layout – XML •Menu – XML• Values – constantes
Dica: caso queira imagens próprias dentro do aplicativo, coloque-as dentro da pasta Drawable com ctrl+v
Projeto
•Arquivos de Gradle
•Configurações, bibliotecas, versão
build.Gradle
build.Gradle
Versão do Android para compilação e buildTools21 -> Android 5.0 (Lollipop)
build.Gradle
Configurações gerais - ID (pacote) único para cada app - minSdk Suportado (14 -> 4.0 Ice Cream Sandwich) - targetSdk (21 -> 5.0 Lollipop) - versão do código (precisa ser incremendado ao publicar atualizações) - versão (também é incrementada em atualizações)
build.Gradle
Dependencias - Import de bibliotecas do MavenCentral
Layout XML - Intro
•Modo Design
Layout XML - Intro
•ModoText
MeuApp - Página inicial
• Inserir um Button
•Definir um “id”
XML
•Hierarquia
XML
XML
•Define os elementos de layout da tela do aplicativo
•No Java, é possível acessar estes elementos para programação (alterar texto, inserir uma lista, imagem, etc)
XML - Responsividade
•Android possui muitos tamanhos de tela! •Dicas:• Evitar tamanhos “fixos” como “width=320”• Solução: Usar “match_parent” com uma borda
• Em tela com muitos elementos, usar “ScrollView”• Garante que em telas pequenas não ficará cortado e scroll será disponibilizado aos usuários
XML
• ID – é usado para encontrar o componente do XML no código Java•Utilizar nomes descritivos(Evitar“TextView24”)• Inserir manualmente um id para cada elemento que será necessário conexão
XML – Componentes Importantes•ViewGroup
• Linear Layout• Organiza os childs em sequência. Por exemplo, na
orientação vertical, ficará um abaixo do outro
• Relative Layout• Cada componente é relativo ao outro ou relativo à
tela. Por exemplo, possível definir uma imagem “canto inferior direito” e “acima da imagem do rodapé”
XML – Componentes Importantes•View• Button – botões• TextView – texto normal• ImageView - imagem• InputText – entrada de text• Pode ser definido entrada apenas numérica, senha, text normal, e-mail, etc. Desse modo o Android adapta o teclado que irá aparecer
• Etc…
Java
•Define a lógica do Aplicativo•Acessa os componentes do layout para modificá-los conforme necessário
Java
•Exemplos:
• Clique de botão• Banco de Dados• Conexão à WebService• Abrir a câmera para tirar uma foto• Contar o tempo• etc
Java - Activity
•Cada tela do aplicativo é uma classe e extende “Activity”
Activity
OnCreate() - Aqui fica todo o código necessário de inicialização da Activity - setContentView: seta o layout xml que será utilizado por essa activity
Ligação xml - java
•Utiliza o id definido no xml•Será usado muitas e muitas vezes
TextView txtNome = (TextView) findViewById(R.id.txtNome);
Meu App - componentes
• Criar uma váriável para o botão criado antes
• Chamar em código através do findViewById
OnClickListener• Adiciona um listener para ouvir quando a view é clicada e chama uma função para executar algo
Nova Activity
•No pacote desejado• Botão direito > New > Activity > Blank Activity
•Nome: “DetalhesActivity”
Dica: evite criar uma Activity na mão (nova classe), utilize o ajudante da IDE. Ela irá ajudar a configurar o necessário de layout xml, AndroidManifest, etc
Intent
•Como chamar uma nova Activity:
Intent i = new Intent(this, DetalhesActivity.class); startActivity(i);
O parâmetro “this” da nova intent dá ao Android qual a Activity que está chamando a próxima. Dessa maneira, automaticamente, quando o usuário aperta “voltar”, aparecerá a tela anterior
Resumo
•Teste no emulador ou celular (via USB)•Layout XML – define componentes em tela•Código Java – define a lógica do app
•Build.Gradle – configurações do app• res – Resources do app
Obrigada!
•Aline K Borges•[email protected]