Minicurso
Iniciando com Android
Messias 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 Android
Estudante 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áfico
Noções de Material Design
Noções de Usabilidade de Software
Preparação para o Android
Paradigma de OO
Encapsulamento Abstração Herança Polimorfismo
Pilares da Orientação à Objetos
Preparação para o Android
Linguagem 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 Android
Exemplo de Activity e métodos implementados
Preparação para o Android
XML 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 Android
Vantagens 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 Android
Android Studio
Preparação para o Android
Genymotion
Necessário utilizar o
Virtualbox.
Preparação para o Android
Tecnologia 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 Android
Intel 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 Googlelandia
Histó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 Googlelandia
Dalvik Virtual Machine
Compilação Compilação DEX
DEX
File
DEX
File
apkbuilder
Interpretação
O Robozinho Verde da Googlelandia
Conceitos 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 Googlelandia
As 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 Googlelandia
Ciclo 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 Googlelandia
Exemplo de Activity e métodos implementados
O Robozinho Verde da Googlelandia
Activity
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 Googlelandia
O 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 Googlelandia
Exemplo de Intent
7. Introdução ao Material Design
Introdução ao Material Design
Princípios
Material is the
metaphor
Bold, graphic,
intentional
Motion provides
meaning
Introdução ao Material Design
Apresentação
Introdução ao Material Design
Apresentação
Introdução ao Material Design
Exemplos
Introdução ao Material Design
Cores
Introdução ao Material Design
Acessem
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

Minicurso iniciando com Android no Androidos Day

  • 1.
    Minicurso Iniciando com Android MessiasR. Batista @mrafaelbatista Androidos 2016
  • 2.
    Agenda O objetivo principaldeste 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
  • 3.
  • 4.
    Quem sou eu? MessiasR. Batista Desenvolvedor Web e Android Estudante 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
  • 5.
    2. Quero aprenderAndroid, como faço?
  • 6.
    Referências de Estudohttp://www.android.com
  • 7.
    Referências de Estudohttp://developer.android.com/intl/pt-br/develop/index.html
  • 8.
    Referências de EstudoCanal: Android Developers
  • 9.
    Referências de Estudohttp://android-developers.blogspot.com.br/
  • 10.
    Referências de Estudohttps://android-arsenal.com/
  • 11.
  • 12.
  • 13.
  • 14.
    Referências de EstudoGDG João Pessoa Google Study Jam
  • 15.
    Referências de EstudoGDG João Pessoa Club do Android ● Organização em equipes; ● Grupos de estudo; ● Desenvolvimento de apps; ● Workshops e Meetups; ● Compartilhamento de conhecimento.
  • 16.
  • 17.
    Importante Preparação para oAndroid 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áfico Noções de Material Design Noções de Usabilidade de Software
  • 18.
    Preparação para oAndroid Paradigma de OO Encapsulamento Abstração Herança Polimorfismo Pilares da Orientação à Objetos
  • 19.
    Preparação para oAndroid Linguagem Java Classes Objetos Atributos Métodos Sobre a Linguagem Java Formas de Objeto Criado a partir da forma Características Comportamentos
  • 20.
    Preparação para oAndroid Exemplo de Activity e métodos implementados
  • 21.
    Preparação para oAndroid XML 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.
  • 22.
    Ambiente de Desenvolvimento AndroidStudio Android Virtual Device Genymotion Virtualbox
  • 23.
    Preparação para oAndroid Vantagens 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...
  • 24.
    Preparação para oAndroid Android Studio
  • 25.
    Preparação para oAndroid Genymotion Necessário utilizar o Virtualbox.
  • 26.
    Preparação para oAndroid Tecnologia 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.
  • 27.
    Preparação para oAndroid Intel e o Android
  • 28.
    4. Prática I:Hello world
  • 29.
    Vamos criar umHello 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
  • 30.
    5. Prática II:Genymotion
  • 31.
    Vamos configurar oGenymotion? 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
  • 32.
    Perguntas? Até aqui algumadúvida? Podemos continuar?
  • 33.
    6. O RobozinhoVerde da Googlelandia
  • 34.
    O Robozinho Verdeda Googlelandia Histó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
  • 35.
    O Robozinho Verdeda Googlelandia Dalvik Virtual Machine Compilação Compilação DEX DEX File DEX File apkbuilder Interpretação
  • 36.
    O Robozinho Verdeda Googlelandia Conceitos 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.
  • 37.
    O Robozinho Verdeda Googlelandia As partes do Frankenstein ● Activity ● Intent ● Broadcast Receiver ● Content Provider ● Services
  • 38.
    Activity “Activity é umcomponente 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”
  • 39.
    O Robozinho Verdeda Googlelandia Ciclo 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;
  • 40.
    O Robozinho Verdeda Googlelandia Exemplo de Activity e métodos implementados
  • 41.
    O Robozinho Verdeda Googlelandia Activity 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.
  • 42.
    Intent “A Intent éum objeto de mensagem que pode ser usado para solicitar uma ação de outro componente de aplicativo”
  • 43.
    O Robozinho Verdeda Googlelandia O 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.
  • 44.
    O Robozinho Verdeda Googlelandia Exemplo de Intent
  • 45.
    7. Introdução aoMaterial Design
  • 46.
    Introdução ao MaterialDesign Princípios Material is the metaphor Bold, graphic, intentional Motion provides meaning
  • 47.
    Introdução ao MaterialDesign Apresentação
  • 48.
    Introdução ao MaterialDesign Apresentação
  • 49.
    Introdução ao MaterialDesign Exemplos
  • 50.
  • 51.
    Introdução ao MaterialDesign Acessem https://goo.gl/Wo02ne
  • 52.
    8. Prática III:Aplicativo de Comparação
  • 53.
    Aplicativo de Gasolinax Etanol 1. Criar novo projeto no Android Studio 2. Criando com uma Activity Básica 3. Utilizar cores do Material Design
  • 54.
  • 55.
    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
  • 56.
    10. Prática IV:App que compartilha mensagem
  • 57.
    Aplicativo Criativo (Livre) 1.Criar novo projeto no Android Studio 2. Utilizar cores do Material Design 3. Utilizar Intents
  • 58.
  • 59.
    Minicurso Iniciando com Android Androidos2016 Messias R. Batista www.mrafaelbatista.com.br github.com/mrafaelbatista