Android 101
Do Plano ao Play
Eduardo Carrara
Google Developers Group ABC
+GDG ABC
https://groups.google.com/forum/#!forum/gdg-abc
http://www.meetup.com/GDG-ABC/
https://www.facebook.com/GDGABC
The world has gone mobile
Fonte: http://www.kpcb.com/internet-trends
Fonte: http://www.kpcb.com/internet-trends
Fonte: http://www.kpcb.com/internet-trends
Fonte: http://www.kpcb.com/internet-trends
Developer Economics Q1 2014 (http://www.developereconomics.com/reports/q1-2014/)
KEEP
CALM
AND
CODE
ON
Ganhando Dinheiro
Contract Work
Pay per Download
In-app Purchase
Freemium
Subscriptions
Royalties or Licensing
In-app Advertising
Brand Awareness
Developer Services
E-commerce sales
Affilliate Programs
App as a ChannelApp as a Product
Concepção
Protótipos Storyboards
Requisitos
Formais
User Stories
Projete a Experiência
Por onde começar?
go to:
developer.android.com
Launch
Building & Publishing
$25 USD
Fonte: http://developer.android.com/distribute/googleplay/start.html
Crie o Release
Registre-se
como
Desenvolvedor
Publique
gradle assembleRelease
Primeiros Passos
Ferramentas
Conceitos
Básicos
Demo App
Ferramentas
go to:
developer.android.com/sdk
V.S.
Android Studio
SDK Manager
AVD Manager
Android Virtual Devices Manager
ADB
Android Debug Bridge
LogCat
Prepare seu device!
● Plugue o cabo USB
● Vá até:
Configurações/Opções do
Desenvolvedor
● Habilite a Depuração USB
Conceitos Básicos
+
Java OOP
Habilidades Básicas
Principais Desafios
Baixo poder de processamento
Ram limitada
Problemas de conectividade
Impacto na vida da bateria
Out
2009
Dec
2010
Fev
2011
Out
2011
Jul
2012
Out
2013
Abr
2009
Set
2009
Mai
2010
L Developer
Preview
Fragmentação Version Codename API Distribution
2.2 Froyo 8 0.7%
2.3.3 -
2.3.7
Gingerbread 10 13.5%
4.0.3 -
4.0.4
Ice Cream
Sandwich
15 11.4%
4.1.x Jelly Bean 16 27.8%
4.2.x 17 19.7%
4.3 18 9.0%
4.4 KitKat 19 17.9%
Julho, 2014
Linux Kernel
C/C++ Libs Android Runtime
Application Framework
Application Layer
The Building Blocks
Activities
&
Fragments
Content
Providers
Services
Android Project Build
Byte Code
Resources
Manifest
Gradle
Gradle
APK
Sign
Install on
Device
JarSigner ADB
O Processo de Build e o APK
Camada de Apresentação
Activity
Fragment
TextView
EditText
ImageView
Button
ListView
Básico em Design Responsivo
http://opensignal.com/reports/fragmentation.php
Layout Managers
Frame Layout Linear Layout Relative Layout
Hierarquia de Views
XML Layout Hierarquia de Views
RelativeLayout
RelativeLayout Button
ImageView TextView
id:root
id:container id:btn
id:txt
Encontrando Views
Java Hierarquia de Views
RelativeLayout
RelativeLayout Button
ImageView TextView
id:root
id:container id:btn
id:txt
Adapters
Dados
Mapa - mapa.png
Musica - musica.png
Camera - camera.png
Adapter
Inicializa
o
Adapter
Sabe como construir o
layout de cada item
Mapa Camera Musica
ListView
Mapa
Obtém layout para cada item
1
2
Demo Time!
Proposta
Criação do projeto.
Explorando a IDE e os arquivos do projeto.
Rodando a aplicação no emulador e no device.
Adicionando uma ListView com uma lista de Strings.
What’s next?
NDK
ADK
UnitTests
UX
Animations
Threading
ADB
AAPT Andoid Studio
OpenGL
Gradle
Geolocalization
Sensors
NFC
ORM
Dependency Injection
Resources
Intents
Widgets
Media
AVD
Bluetooth
Antes do Salto...
● Acesse: developer.android.com
● Baixe as ferramentas
● Experimente
● Discuta
● Compartilhe
● Participe dos grupos de discussão!
Referências e Recursos
https://groups.google.com/forum/#!forum/androidbrasil-dev
http://developer.android.com/
https://www.youtube.com/user/androiddevelopers
https://www.udacity.com/course/ud853
Obrigado!
Eduardo Carrara de Araujo
+EduardoCarraraDeAraujo
br.linkedin.com/in/eduardocarrara/
@DuCarrara

Android 101: Do Plano ao Play