introdução ao desenvolvimento de apps para android - dia 1/2
TRANSCRIPT
Introdução ao desenvolvimento de apps para AndroidDia 1/2
MatheusCalegaro
/mathcale
@mathcale
/mathcale
mathcale.com
Hello, world!
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;
Disclaimer
O que é o Android?
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);
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
Google Play Store e Google Play Developers Console
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
Tela principal do Google Play Dev. Console
Hora do vídeo!
The App Effect
A Linguagem Java
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!
A Linguagem Java – P.O.O.
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;
É o quê??
A Linguagem Java – P.O.O.
A Linguagem Java – P.O.O.
A Linguagem Java – P.O.O.
A Linguagem Java – P.O.O.
Exemplo do programa “Hello World” em Java
A Linguagem Java – P.O.O.
Exemplo do uso de P.O.O.
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.
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.
Agora sim!
Android Studio
Android Studio
Baseado no IntelliJ IDEA, da JetBrains
IDE padrão para dev Android desde 2014
Android Studio
Abra o Android Studio!
Android Virtual Device vs.Genymotion
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)
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
Site do Genymotion
Escopo de um projeto
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
Hello WorldDe volta para o Android Studio!
Debug e LogCatDe volta para o Android Studio!
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