minicurso iniciando com android no androidos day

59
Minicurso Iniciando com Android Messias R. Batista @mrafaelbatista Androidos 2016

Upload: messias-batista

Post on 11-Apr-2017

73 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Minicurso iniciando com Android no Androidos Day

Minicurso

Iniciando com AndroidMessias R. Batista@mrafaelbatista

Androidos 2016

Page 2: Minicurso iniciando com Android no Androidos Day

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

Page 3: Minicurso iniciando com Android no Androidos Day

1. Quem sou eu?

Page 4: Minicurso iniciando com Android no Androidos Day

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

Page 5: Minicurso iniciando com Android no Androidos Day

2. Quero aprender Android,como faço?

Page 6: Minicurso iniciando com Android no Androidos Day

Referências de Estudo http://www.android.com

Page 7: Minicurso iniciando com Android no Androidos Day

Referências de Estudo http://developer.android.com/intl/pt-br/develop/index.html

Page 8: Minicurso iniciando com Android no Androidos Day

Referências de Estudo Canal: Android Developers

Page 9: Minicurso iniciando com Android no Androidos Day

Referências de Estudo http://android-developers.blogspot.com.br/

Page 10: Minicurso iniciando com Android no Androidos Day

Referências de Estudo https://android-arsenal.com/

Page 11: Minicurso iniciando com Android no Androidos Day

Referências de Estudo Livros

Page 12: Minicurso iniciando com Android no Androidos Day

Referências de Estudo Cursos

Page 13: Minicurso iniciando com Android no Androidos Day

Referências de Estudo Cursos

Page 14: Minicurso iniciando com Android no Androidos Day

Referências de Estudo GDG João Pessoa

Google Study Jam

Page 15: Minicurso iniciando com Android no Androidos Day

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.

Page 16: Minicurso iniciando com Android no Androidos Day

3. Preparação para o Android

Page 17: Minicurso iniciando com Android no Androidos Day

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

Page 18: Minicurso iniciando com Android no Androidos Day

Preparação para o AndroidParadigma de OO

Encapsulamento Abstração Herança Polimorfismo

Pilares da Orientação à Objetos

Page 19: Minicurso iniciando com Android no Androidos Day

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

Page 20: Minicurso iniciando com Android no Androidos Day

Preparação para o AndroidExemplo de Activity e métodos implementados

Page 21: Minicurso iniciando com Android no Androidos Day

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.

Page 22: Minicurso iniciando com Android no Androidos Day

Ambiente de Desenvolvimento

Android Studio

Android Virtual Device

Genymotion

Virtualbox

Page 23: Minicurso iniciando com Android no Androidos Day

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...

Page 24: Minicurso iniciando com Android no Androidos Day

Preparação para o AndroidAndroid Studio

Page 25: Minicurso iniciando com Android no Androidos Day

Preparação para o AndroidGenymotion

Necessário utilizar o Virtualbox.

Page 26: Minicurso iniciando com Android no Androidos Day

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.

Page 27: Minicurso iniciando com Android no Androidos Day

Preparação para o AndroidIntel e o Android

Page 28: Minicurso iniciando com Android no Androidos Day

4. Prática I: Hello world

Page 29: Minicurso iniciando com Android no Androidos Day

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

Page 30: Minicurso iniciando com Android no Androidos Day

5. Prática II: Genymotion

Page 31: Minicurso iniciando com Android no Androidos Day

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

Page 32: Minicurso iniciando com Android no Androidos Day

Perguntas?Até aqui alguma dúvida?

Podemos continuar?

Page 33: Minicurso iniciando com Android no Androidos Day

6. O Robozinho Verde da Googlelandia

Page 34: Minicurso iniciando com Android no Androidos Day

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

Page 35: Minicurso iniciando com Android no Androidos Day

O Robozinho Verde da GooglelandiaDalvik Virtual Machine

Compilação Compilação DEX DEX File

DEX File apkbuilder Interpretação

Page 36: Minicurso iniciando com Android no Androidos Day

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.

Page 37: Minicurso iniciando com Android no Androidos Day

O Robozinho Verde da GooglelandiaAs partes do Frankenstein

● Activity

● Intent

● Broadcast Receiver

● Content Provider

● Services

Page 38: Minicurso iniciando com Android no Androidos Day

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”

Page 39: Minicurso iniciando com Android no Androidos Day

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;

Page 40: Minicurso iniciando com Android no Androidos Day

O Robozinho Verde da GooglelandiaExemplo de Activity e métodos implementados

Page 41: Minicurso iniciando com Android no Androidos Day

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.

Page 42: Minicurso iniciando com Android no Androidos Day

Intent“A Intent é um objeto de mensagem que

pode ser usado para solicitar uma ação de outro componente de aplicativo”

Page 43: Minicurso iniciando com Android no Androidos Day

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.

Page 44: Minicurso iniciando com Android no Androidos Day

O Robozinho Verde da GooglelandiaExemplo de Intent

Page 45: Minicurso iniciando com Android no Androidos Day

7. Introdução ao Material Design

Page 46: Minicurso iniciando com Android no Androidos Day

Introdução ao Material DesignPrincípios

Material is the metaphor

Bold, graphic, intentional

Motion provides meaning

Page 47: Minicurso iniciando com Android no Androidos Day

Introdução ao Material DesignApresentação

Page 48: Minicurso iniciando com Android no Androidos Day

Introdução ao Material DesignApresentação

Page 49: Minicurso iniciando com Android no Androidos Day

Introdução ao Material DesignExemplos

Page 50: Minicurso iniciando com Android no Androidos Day

Introdução ao Material DesignCores

Page 51: Minicurso iniciando com Android no Androidos Day

Introdução ao Material DesignAcessem

https://goo.gl/Wo02ne

Page 52: Minicurso iniciando com Android no Androidos Day

8. Prática III: Aplicativo de Comparação

Page 53: Minicurso iniciando com Android no Androidos Day

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

Page 54: Minicurso iniciando com Android no Androidos Day

9. Melhores Práticas

Page 55: Minicurso iniciando com Android no Androidos Day

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

Page 56: Minicurso iniciando com Android no Androidos Day

10. Prática IV: App que compartilha mensagem

Page 57: Minicurso iniciando com Android no Androidos Day

Aplicativo Criativo (Livre)

1. Criar novo projeto no Android Studio

2. Utilizar cores do Material Design

3. Utilizar Intents

Page 58: Minicurso iniciando com Android no Androidos Day

Perguntas?Até aqui alguma dúvida?

Page 59: Minicurso iniciando com Android no Androidos Day

Minicurso

Iniciando com Android

Androidos 2016

Messias R. Batista

www.mrafaelbatista.com.br

github.com/mrafaelbatista