Upload
messias-batista
View
73
Download
4
Embed Size (px)
Citation preview
Minicurso
Iniciando com AndroidMessias R. Batista@mrafaelbatista
Androidos 2016
Agenda
O objetivo principal deste minicurso é apresentar o Android como plataforma de desenvolvimento. Os participantes poderão trocar experiências sobre os principais conceitos, os pilares de desenvolvimento da plataforma, as técnicas de design do material e principalmente desenvolvendo um app para consolidar tudo o que for discutido.
1. Quem sou eu?
2. Quero aprender Android, como faço?
3. Preparação para o Android
4. Prática I: Hello World
5. Prática II: Genymotion
6. O Robozinho Verde da Googlelandia
7. Introdução ao Material Design*
8. Prática III: App Comparativo
9. Melhores Práticas*
10. Prática IV: App Intents
1. Quem sou eu?
Quem sou eu?
Messias R. Batista
Desenvolvedor Web e AndroidEstudante de Sist. para Internet Pós-graduando em Admin em BD
2004-2009 Graduação em Ciências Socais (UFPB)
2009-2011 Mestrado em Relações Internacionais (UEPB)
Professor da Graduação em RI (UEPB)
2011-2012 Assistente de Pesquisa do IPEA (Brasília-DF)
2012-2013 Graduando em ADS (Faculdade Projeção)
Coord. Pedagógico de Tecnologia (Microcamp)
2014-2016 Aluno de Sistemas para Internet (Unipê)
Técnico de Suporte do Webcall
2015-2016 Club do Android (GDG JP)
Pós-graduando em Adm. de Banco de Dados
Desenvolvedor Web e Android no Webcall
2. Quero aprender Android,como faço?
Referências de Estudo http://www.android.com
Referências de Estudo http://developer.android.com/intl/pt-br/develop/index.html
Referências de Estudo Canal: Android Developers
Referências de Estudo http://android-developers.blogspot.com.br/
Referências de Estudo https://android-arsenal.com/
Referências de Estudo Livros
Referências de Estudo Cursos
Referências de Estudo Cursos
Referências de Estudo GDG João Pessoa
Google Study Jam
Referências de Estudo GDG João Pessoa
Club do Android
● Organização em equipes;
● Grupos de estudo;
● Desenvolvimento de apps;
● Workshops e Meetups;
● Compartilhamento de conhecimento.
3. Preparação para o Android
Importante
Preparação para o Android
Conceitos de Lógica de Programação
Paradigma de Orientação à Objetos
Linguagem de Programação Java
Linguagem de Marcação XML
Ambiente de Desenvolvimento
Principais Conceitos de Padrões de Projeto
Prática e Conceitos de Design GráficoNoções de Material DesignNoções de Usabilidade de Software
Preparação para o AndroidParadigma de OO
Encapsulamento Abstração Herança Polimorfismo
Pilares da Orientação à Objetos
Preparação para o AndroidLinguagem Java
Classes
Objetos
Atributos
Métodos
Sobre a Linguagem Java
Formas de Objeto
Criado a partir da forma
Características
Comportamentos
Preparação para o AndroidExemplo de Activity e métodos implementados
Preparação para o AndroidXML de onde vem para onde vai?
O que é XML? (eXtensible Markup Language)
O XML é um formato para a criação de documentos com dados organizados de forma hierárquica.
Ambiente de Desenvolvimento
Android Studio
Android Virtual Device
Genymotion
Virtualbox
Preparação para o AndroidVantagens do Android Studio
● IDE Oficial de app Android baseado no IntelliJ IDEA;
● Flexibilidade baseada no Gradle;
● Construção do apk;
● Modelos de código que auxiliam na padronização dos app;
● Editor com capacidade de drop-down;
● entre outros...
Preparação para o AndroidAndroid Studio
Preparação para o AndroidGenymotion
Necessário utilizar o Virtualbox.
Preparação para o AndroidTecnologia de Virtualização Intel VT-X
● Tecnologia de virtualização Intel VT-X;
○ KVM para Linux;
○ HAXM para Windows e OS X;
● Utilização de 80% da velocidade nativa do processador;
● Emulador 5x mais rápido.
Preparação para o AndroidIntel e o Android
4. Prática I: Hello world
Vamos criar um Hello World?
1. Abrir o Android Studio
2. Criar um novo projeto
3. Entender a estrutura do Android Studio
4. Criar uma AVD (Android Virtual Device)
5. Iniciar o Hello World na AVD
5. Prática II: Genymotion
Vamos configurar o Genymotion?
1. Instalar os pacotes
a. Virtualbox
b. Genymotion
2. Criar uma virtualização do Android
3. Macete: Google Play Services
4. Configuração no Android Studio
5. Iniciando o Hello World no Genymotion
Perguntas?Até aqui alguma dúvida?
Podemos continuar?
6. O Robozinho Verde da Googlelandia
O Robozinho Verde da GooglelandiaHistória das Versões do Android
Versão Nome Lançamento
Android 1.5 Cupcake 2009
Android 1.6 Donut 2009
Android 2.0 Eclair 2009
Android 2.2 Froyo 2010
Android 2.3 Gingerbread 2010
Android 3.0 Honeycomb 2011
Android 4.0 Ice Cream Sandwich 2011
Android 4.1 Jelly Bean 2012
Android 4.4 Kit Kat 2013
Android 5.0 Lollipop 2014
Android 6.0 Marshmallow 2015
Android 7.0 Andoid N 2016
O Robozinho Verde da GooglelandiaDalvik Virtual Machine
Compilação Compilação DEX DEX File
DEX File apkbuilder Interpretação
O Robozinho Verde da GooglelandiaConceitos sobre a estrutura de Apps
Conceitos fundamentais sobre a estrutura de aplicativos do Android
Fundamentos de aplicativos
➔ Android é um Linux multiusuário em que cada app é um usuário diferente;
➔ O sistema atribui a cada app um ID de usuário do Linux;
➔ Cada processo tem sua própria VM, sendo o código de um app executado isoladamente de outros apps;
➔ Cada aplicativo é executado em seu próprio processo Linux. O processo é iniciando quando necessário e finalizado da mesma forma, ou quando o sistema necessita recuperar memória.
Compatibilidade de Dispositivos
➔ Atenção com a diversidade de dispositivos, principalmente no que cerne aos recursos disponíveis;
➔ Estar atento ao controle dos recursos dos dispositivos, que podem ser configurados no arquivo manifest;
➔ Versão da plataforma. Deve-se configurar também no manifest quais versões mínimas e máximas que o app dará suporte;
➔ Desenvolver para o tamanho de tela correta, pois apesar da adaptabilidade do próprio Android, o ideal é poder otimizar a experiência do usuário.
O Robozinho Verde da GooglelandiaAs partes do Frankenstein
● Activity
● Intent
● Broadcast Receiver
● Content Provider
● Services
Activity
“Activity é um componente de
aplicativo que fornece uma tela com
a qual os usuários podem interagir
para fazer algo, como discar um
número no telefone, tirar uma foto,
enviar um e-mail ou ver um mapa”
O Robozinho Verde da GooglelandiaCiclo de Vida da Activity
● Apps possuem várias activitys;
● Cada activity pode iniciar outra activity;
● As activitys apresentam um ciclo de vida;
● O ciclo de vida das várias activitys são organizados como uma pilha;
O Robozinho Verde da GooglelandiaExemplo de Activity e métodos implementados
O Robozinho Verde da GooglelandiaActivity
As activitys devem possuir um layout!
JAVA XMLR
A classe R é responsável por gerenciar o acesso aos recursos de imagem, layout, menu, values, por exemplo. Este gerenciamento é realizado através da criação de constantes para acessar estes recursos.
Intent“A Intent é um objeto de mensagem que
pode ser usado para solicitar uma ação de outro componente de aplicativo”
O Robozinho Verde da GooglelandiaO que fazer com uma Intent?
O que podemos fazer com intent?
● Enviar msg ao SO;● Abrir uma nova tela do app;● Realizar uma ligação;● Abrir o browser com um endereço web;● Exibir endereço ou localização no G. Maps;● Executar Broadcast Reciver ou Service;● Enviar msg para outro app;● Abrir o Google Play para instalar outro app;● Compartilhar conteúdos nas Redes Sociais.
O Robozinho Verde da GooglelandiaExemplo de Intent
7. Introdução ao Material Design
Introdução ao Material DesignPrincípios
Material is the metaphor
Bold, graphic, intentional
Motion provides meaning
Introdução ao Material DesignApresentação
Introdução ao Material DesignApresentação
Introdução ao Material DesignExemplos
Introdução ao Material DesignCores
Introdução ao Material DesignAcessem
https://goo.gl/Wo02ne
8. Prática III: Aplicativo de Comparação
Aplicativo de Gasolina x Etanol
1. Criar novo projeto no Android Studio
2. Criando com uma Activity Básica
3. Utilizar cores do Material Design
9. Melhores Práticas
Passo 5 - Melhores Práticas
Ouça seus usuários
Melhore a estabilidade e
elimine os erros
Melhore a capacidade de resposta da UI
Melhore a Usabilidade
Melhore a aparência e
estética
Integre com sistema e
aplicativos de terceiros
Fonte: Improving App Quality; Android Developers Blog http://android-developers.blogspot.com.br/2010/10/improving-app-quality.html
10. Prática IV: App que compartilha mensagem
Aplicativo Criativo (Livre)
1. Criar novo projeto no Android Studio
2. Utilizar cores do Material Design
3. Utilizar Intents
Perguntas?Até aqui alguma dúvida?
Minicurso
Iniciando com Android
Androidos 2016
Messias R. Batista
www.mrafaelbatista.com.br
github.com/mrafaelbatista