introdução ao desenvolvimento de apps para android - dia 1/2

45
Introdução ao desenvolvimento de apps para Android Dia 1/2

Upload: matheus-calegaro

Post on 23-Jan-2018

386 views

Category:

Mobile


2 download

TRANSCRIPT

Page 1: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Introdução ao desenvolvimento de apps para AndroidDia 1/2

Page 2: Introdução ao desenvolvimento de apps para Android - Dia 1/2

MatheusCalegaro

/mathcale

@mathcale

/mathcale

mathcale.com

Hello, world!

Page 3: Introdução ao desenvolvimento de apps para Android - Dia 1/2

O que temos para hoje?

1. O que é o Android;

2. Google Play Store e G.P.D.C.;

3. A linguagem Java;

4. Android Studio;

5. AVD vs. Genymotion;

6. Escopo de um projeto;

7. O Famoso “Hello World!”;

8. LogCat e Debug;

Page 4: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Disclaimer

Page 5: Introdução ao desenvolvimento de apps para Android - Dia 1/2

O que é o Android?

Page 6: Introdução ao desenvolvimento de apps para Android - Dia 1/2

O que é o Android?

Pilha de software para dispositivos móveis que inclui:1. Sistema Operacional;2. Middleware;3. Aplicações-chave;

Baseado no kernel do Linux;

Open-source (sob a licença Apache);

Page 7: Introdução ao desenvolvimento de apps para Android - Dia 1/2

O que é o Android?

Linha do tempo das versões

1.5 1.62.02.0.12.1

2.22.32.3.3

3.03.13.2

4.04.0.3

4.14.24.3

4.44.4W

5.05.0.15.1

Page 8: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Saiba mais em

http://abr.ai/1HpBctV

Page 9: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Google Play Store e Google Play Developers Console

Page 10: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Google Play Store e G.P.D.C.

Loja oficial de aplicativos, músicas, filmes e livros

Mais de 1.43 milhões de aplicativos, criados por mais de 338 mil desenvolvedores

GPDC = Google Play Developers Console

É preciso pagar uma taxa única de US$ 25 para se credenciar como desenvolvedor

Se o aplicativo for pago, o dev fica com 70% do valor arrecadado

Page 11: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Tela principal do Google Play Dev. Console

Page 12: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Hora do vídeo!

The App Effect

Page 13: Introdução ao desenvolvimento de apps para Android - Dia 1/2

A Linguagem Java

Page 14: Introdução ao desenvolvimento de apps para Android - Dia 1/2

A Linguagem Java

Criada em 1991 por um time da Sun Microsystems, com a ideia de desenvolver um interpretador para pequenos dispositivos (e não deu certo)

Hoje está presente em mais de milhões de dispositivos, entre eles TVs, smartphones, Blu-Ray players, computadores...

Baseada em uma máquina virtual, escrita em C++ (hardcore!)

Orientada a objetos

Code once, run anywhere!

Page 15: Introdução ao desenvolvimento de apps para Android - Dia 1/2

A Linguagem Java – P.O.O.

Page 16: Introdução ao desenvolvimento de apps para Android - Dia 1/2

A Linguagem Java – P.O.O.Classe:

Descrição de um grupo de objetos com propriedades (atributos), comportamentos (métodos), e relacionamentos com outros objetos (associações e agregações);

Objeto:

É uma entidade do mundo real que tem uma identidade. Podem representar entidades concretas (um arquivo no computador, uma bicicleta) ou entidades conceituais (uma estratégia de jogo, uma política de escalonamento em um S.O.). Cada um tem sua identidade;

Método:

Define as habilidades dos objetos (é a mesma coisa que função, só que com nome chique). Normalmente, uma classe possui diversos métodos;

Page 17: Introdução ao desenvolvimento de apps para Android - Dia 1/2

É o quê??

Page 18: Introdução ao desenvolvimento de apps para Android - Dia 1/2

A Linguagem Java – P.O.O.

Page 19: Introdução ao desenvolvimento de apps para Android - Dia 1/2

A Linguagem Java – P.O.O.

Page 20: Introdução ao desenvolvimento de apps para Android - Dia 1/2

A Linguagem Java – P.O.O.

Page 21: Introdução ao desenvolvimento de apps para Android - Dia 1/2

A Linguagem Java – P.O.O.

Exemplo do programa “Hello World” em Java

Page 22: Introdução ao desenvolvimento de apps para Android - Dia 1/2

A Linguagem Java – P.O.O.

Exemplo do uso de P.O.O.

Page 23: Introdução ao desenvolvimento de apps para Android - Dia 1/2

A Linguagem Java – P.O.O.

Mais sobre classes:

Classes abstratas: não possui objetos instanciados a partir dela;

Classes concretas: possui objetos instanciados a partir dela;

Exemplo: No mundo real, por exemplo, existem automóveise aviões, mas nada que seja simplesmente um veiculo (em outras palavras, se não for um carro ou avião, não é de nosso interesse). As classes abstratas são criadas quando necessitamos de uma classe que implemente recursos comuns a duas ou mais classes.

Page 24: Introdução ao desenvolvimento de apps para Android - Dia 1/2

A Linguagem Java – P.O.O.

Modificadores de acesso:

Public: acesso em qualquer lugar do projeto

Private: acesso só dentro da classe onde foi instanciado

Protected: acesso somente dentro do mesmo pacote

Final: constante – não altera o valor

Herança:Nada mais é do que criar classes usando outras classes já existentes. Obviamente, você vai fazer uma classe herdar as características de outra se estas tiverem uma relação (se forem parecidas). Outro ponto importante é que, quando fazemos uso da herança, nós podemos adicionar mais atributos a classe.

Page 25: Introdução ao desenvolvimento de apps para Android - Dia 1/2
Page 26: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Agora sim!

Page 27: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Android Studio

Page 28: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Android Studio

Baseado no IntelliJ IDEA, da JetBrains

IDE padrão para dev Android desde 2014

Page 29: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Android Studio

Abra o Android Studio!

Page 30: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Android Virtual Device vs.Genymotion

Page 31: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Android Virtual Device vs. Genymotion

A.V.D Genymotion

Mantido pela Google Mantido pela Genymobile

Gratuito Gratuito e Premium

Faz uma ponte com o Intel HAX, mas continua lento

Integrado com o Oracle VirtualBox

Imagem do sistema original Imagem modificada, focada na performance (CyanogenMod)

Page 32: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Android Virtual Device vs. Genymotion - benchmark

Configurações

• Intel Core i7 3537U @ 2.0 GHz

• 8GB RAM @ 1600 MHz• HD 500 GB @ 5400

RPM• GeForce GT 740m• TV LG 1920x1080

Page 33: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Site do Genymotion

Page 34: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Escopo de um projeto

Page 35: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Manifestos

Pacotes de Códigos-fonte (.java)

Recursos estáticos

Multimídia, arquivos de estilo individuais...

Arquivos de layout das telas

Layout de menus

Valores, como dimensões, strings e Tema

Scripts de automatização de tarefas

Page 36: Introdução ao desenvolvimento de apps para Android - Dia 1/2
Page 37: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Hello WorldDe volta para o Android Studio!

Page 38: Introdução ao desenvolvimento de apps para Android - Dia 1/2
Page 39: Introdução ao desenvolvimento de apps para Android - Dia 1/2
Page 40: Introdução ao desenvolvimento de apps para Android - Dia 1/2
Page 41: Introdução ao desenvolvimento de apps para Android - Dia 1/2
Page 42: Introdução ao desenvolvimento de apps para Android - Dia 1/2
Page 43: Introdução ao desenvolvimento de apps para Android - Dia 1/2
Page 44: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Debug e LogCatDe volta para o Android Studio!

Page 45: Introdução ao desenvolvimento de apps para Android - Dia 1/2

Muito obrigado e até amanhã!Os códigos de hoje estão em http://github.com/mathcale/MiniCursoAndroid

Baixe este slide em: http://pt.slideshare.net/mathcale