SlideShare uma empresa Scribd logo
1 de 36
Guilherme Callegaro Sesterheim
Quem sou eu?
GuilhermeSesterheim
•Consultor e desenvolvedor ABAP da ilegra
•Mestre em Computação Aplicada pela Unisinos
•Experiência como desenvolvedor Java, Android
e iOS
Agenda
• Quem é a ilegra?
• Android e smartphones
• Ambiente de desenvolvimento
• Testes de aplicativos
• Desenvolvimento
O que é:
– Sistema operacional móvel baseado em Linux
– Adquirido pela Google em 2005 e lançado em 2008
– Desenvolvimento de aplicações é baseado em Java / C++ / C / C# e
Python
– Curiosidade: possui 12 milhões de linhas de código, divididas entre
XML, C, Java e C++
Android
O Android em 2006
– Sem touch-screen
– Com teclado físico
Android
Android
Android
- Em junho de 2013 são quase 1 milhão de aplicativos disponíveis.
- Todo mês, mais de 20 mil novos aplicativos são enviados.
- (imagem) em Dezembro de 2011, Apple tinha quase 450 mil aplicativos, e Google
quase 350 mil
- A cada dia, 1 milhão dispositivos Android são ativados. Espera-se que este
número chegue a 1,5 milhão e mantenha-se estável a partir de então em 2014
Perspectivas para desenvolvedores
- A Plays store vende mais do que a App
Store desde março de 2011
- Desde janeiro de 2011, é permitida a
inclusão de pagamentos dentro de
aplicativos
- Projeção de lucro para desenvolvedores
independentes x empresas
- 80% do dinheiro das app stores vão para
as grandes desenvolvedoras
Oportunidades de trabalho com Android:
– Sites de free-lancers
– Projetos open source
Empregos fixos: entre R$ 2000,00 para
desenvolvedores e R$ 8000,00 para
analistas
- Visibilidade
Android
Imagem desatualizada
Android
Smartphones
– Marcos:
Nov 2009 – Lançamento do Motorola Milestone
Jun 2010 – Lançamento do Samsung Galaxy S
Maio 2012 – Lançamento do Samsung Galaxy SIII
– Top Android phones (06/2013):
Samsung – Galaxy S4
Samsung – Galaxy S3
Samsung – Galaxy Note 2
– Curiosidades:
•Microsoft lucra mais com Android do que com WP
Android
Smartphones de baixo custo – 17/06/2013
Android
Baixando o SDK – http://developer.android.com/sdk/index.html
Ambiente de desenvolvimento
Ambiente de desenvolvimento
Motodev studio
–Gratuito
–Não há restrição a aparelhos da Motorola
–Principais diferenciais:
* App validator (permissões, e uso de código)
* Code snippets (adicionar facilmente códigos já construídos)
* Application signing automático
* Suporta o Android NDK (desenvolvimento em C e C++)
* Screen capture de dispositivos emulados
* Tradutor de aplicativos nativo
Emulador
Testes de Aplicativos
ADB – Android Debug Bridge
- Localizado em <sdk-path>/platform-tools/
- Pode receber instruções via linha de comando
Testes de Aplicativos
Desenvolvimento
Fundamentals
- Os aplicativos de Android são instalados através de um .apk
- A partir do momento em que é instalado, cada aplicativo do Android
tem sua sandbox (baseia-se no conceito de multi-usuários do Linux)
- Cada processo recebe suas permissões específicas
- Cada processo executa dentro de uma VM
- Cada aplicação consegue acessar apenas o que foi determinado
através do manifest
Manifest
Desenvolvimento
Desenvolvimento
- ADB – Android Debug Bridge
- AVD – Android Virtual Device
- Logcat
- Captura de telas
- Debug.startMethodTracing(String fileName)
Debugging
Desenvolvimento
Activities
- Uma Activity é um componente da aplicação (uma classe), que proverá uma
tela com a qual o usuário poderá interagir
- Geralmente o desenho ocupa a tela inteira, mas ela pode ser diminuída para
ser feito o efeito de flutuação sobre outras telas já existentes
- Implementando métodos obrigatórios:
onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()
- Exemplos Intent:
ACTION_DIAL
ACTION_MAIN
- Definindo a tela que será exibida:
setContentView( String
codigoArquivoXML)
- Iniciando sub atividade:
startActivity(Intent nova)
-Capturando resultado de uma
atividade: startActivityForResult() /
onActivityResult()
- Finalizando uma atividade: finish() /
finishActivity()
- Guardando o estado de uma Activity –
onSaveInstanceState() /
onRestoreInstanceState()
- Outros eventos importantes:
onCreateOptionsMenu, onKeyDown,
onMenuItemSelected, onTouchEvent,
onWindowFocusChanged
Desenvolvimento
- São atividades que operam em background por um longo tempo
e não provêem interface para o usuário
- É necessário declarar os Services, que a aplicação poderá
disparar, no manifest
- Pode ser executado, desacoplado, e capturado futuramente
- onCreate(), onStartCommand(), onBind(), onUnbind(),
onRebind(), onDestroy()
Services
Desenvolvimento
Desenvolvimento
UI – User Interface
Desenvolvimento
- Shared Preferences – dados de usuário / internos do smartphone
- Internal storage
MODE_PRIVATE
MODE_APPEND
MODE_WORLD_READABLE
MODE_WORLD_WRITABLE
- External storage
Environment.getExternalStorageState()
getExternalStoragePublicDirectory() –
images/music/ringtones/videos
- SQLite databases
- Network connection
Data Storage
Desenvolvimento
- Nenhuma aplicação tem permissão para interferir em outros processos,
outras aplicações, ou informações confidenciais do sistema
- Application signing
- Permissões
Existem 115 diferentes tipos de permissões
Security
Desenvolvimento
- Manifest
-AppWidgetProviderInfo
-onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive()
Widgets
Desenvolvimento
Obrigado!
Guilherme Sesterheim
guilherme.sesterheim@ilegra.com
facebook.com/guilherme.sesterheim
www.sesterheim.com.br
Perguntas

Mais conteúdo relacionado

Mais procurados (6)

Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma Android
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Desenvolvimento de Aplicativos para Android
Desenvolvimento de Aplicativos para AndroidDesenvolvimento de Aplicativos para Android
Desenvolvimento de Aplicativos para Android
 
Show Day Droid x
Show Day Droid xShow Day Droid x
Show Day Droid x
 
Introduction Android - C.E.S.A.R
Introduction Android - C.E.S.A.RIntroduction Android - C.E.S.A.R
Introduction Android - C.E.S.A.R
 
Criando app mobile com Google Android - Software Freedom Day 2015
Criando app mobile com Google Android - Software Freedom Day 2015 Criando app mobile com Google Android - Software Freedom Day 2015
Criando app mobile com Google Android - Software Freedom Day 2015
 

Semelhante a Introdução à programação em Android SENAC 17.06.2013

E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
KMILT
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
Renato
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
Natanael Fonseca
 

Semelhante a Introdução à programação em Android SENAC 17.06.2013 (20)

Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
Curso Básico Android - Aula 01
Curso Básico Android - Aula 01Curso Básico Android - Aula 01
Curso Básico Android - Aula 01
 
Phonegap
PhonegapPhonegap
Phonegap
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em Java
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Android
AndroidAndroid
Android
 
Introdução ao Desenvolvimento para Android
Introdução ao Desenvolvimento para AndroidIntrodução ao Desenvolvimento para Android
Introdução ao Desenvolvimento para Android
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro InevitávelAndroid: Conheça o Futuro Inevitável
Android: Conheça o Futuro Inevitável
 
Android26.05
Android26.05Android26.05
Android26.05
 
Desenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapDesenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGap
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Empreendedori$mo com Android
Empreendedori$mo com AndroidEmpreendedori$mo com Android
Empreendedori$mo com Android
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 

Introdução à programação em Android SENAC 17.06.2013

  • 2. Quem sou eu? GuilhermeSesterheim •Consultor e desenvolvedor ABAP da ilegra •Mestre em Computação Aplicada pela Unisinos •Experiência como desenvolvedor Java, Android e iOS
  • 3. Agenda • Quem é a ilegra? • Android e smartphones • Ambiente de desenvolvimento • Testes de aplicativos • Desenvolvimento
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. O que é: – Sistema operacional móvel baseado em Linux – Adquirido pela Google em 2005 e lançado em 2008 – Desenvolvimento de aplicações é baseado em Java / C++ / C / C# e Python – Curiosidade: possui 12 milhões de linhas de código, divididas entre XML, C, Java e C++ Android
  • 10. O Android em 2006 – Sem touch-screen – Com teclado físico Android
  • 12. Android - Em junho de 2013 são quase 1 milhão de aplicativos disponíveis. - Todo mês, mais de 20 mil novos aplicativos são enviados. - (imagem) em Dezembro de 2011, Apple tinha quase 450 mil aplicativos, e Google quase 350 mil - A cada dia, 1 milhão dispositivos Android são ativados. Espera-se que este número chegue a 1,5 milhão e mantenha-se estável a partir de então em 2014
  • 13. Perspectivas para desenvolvedores - A Plays store vende mais do que a App Store desde março de 2011 - Desde janeiro de 2011, é permitida a inclusão de pagamentos dentro de aplicativos - Projeção de lucro para desenvolvedores independentes x empresas - 80% do dinheiro das app stores vão para as grandes desenvolvedoras Oportunidades de trabalho com Android: – Sites de free-lancers – Projetos open source Empregos fixos: entre R$ 2000,00 para desenvolvedores e R$ 8000,00 para analistas - Visibilidade Android Imagem desatualizada
  • 15. Smartphones – Marcos: Nov 2009 – Lançamento do Motorola Milestone Jun 2010 – Lançamento do Samsung Galaxy S Maio 2012 – Lançamento do Samsung Galaxy SIII – Top Android phones (06/2013): Samsung – Galaxy S4 Samsung – Galaxy S3 Samsung – Galaxy Note 2 – Curiosidades: •Microsoft lucra mais com Android do que com WP Android
  • 16. Smartphones de baixo custo – 17/06/2013 Android
  • 17.
  • 18. Baixando o SDK – http://developer.android.com/sdk/index.html Ambiente de desenvolvimento
  • 19. Ambiente de desenvolvimento Motodev studio –Gratuito –Não há restrição a aparelhos da Motorola –Principais diferenciais: * App validator (permissões, e uso de código) * Code snippets (adicionar facilmente códigos já construídos) * Application signing automático * Suporta o Android NDK (desenvolvimento em C e C++) * Screen capture de dispositivos emulados * Tradutor de aplicativos nativo
  • 20.
  • 22. ADB – Android Debug Bridge - Localizado em <sdk-path>/platform-tools/ - Pode receber instruções via linha de comando Testes de Aplicativos
  • 23.
  • 24. Desenvolvimento Fundamentals - Os aplicativos de Android são instalados através de um .apk - A partir do momento em que é instalado, cada aplicativo do Android tem sua sandbox (baseia-se no conceito de multi-usuários do Linux) - Cada processo recebe suas permissões específicas - Cada processo executa dentro de uma VM - Cada aplicação consegue acessar apenas o que foi determinado através do manifest
  • 26. Desenvolvimento - ADB – Android Debug Bridge - AVD – Android Virtual Device - Logcat - Captura de telas - Debug.startMethodTracing(String fileName) Debugging
  • 27. Desenvolvimento Activities - Uma Activity é um componente da aplicação (uma classe), que proverá uma tela com a qual o usuário poderá interagir - Geralmente o desenho ocupa a tela inteira, mas ela pode ser diminuída para ser feito o efeito de flutuação sobre outras telas já existentes - Implementando métodos obrigatórios: onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy() - Exemplos Intent: ACTION_DIAL ACTION_MAIN
  • 28. - Definindo a tela que será exibida: setContentView( String codigoArquivoXML) - Iniciando sub atividade: startActivity(Intent nova) -Capturando resultado de uma atividade: startActivityForResult() / onActivityResult() - Finalizando uma atividade: finish() / finishActivity() - Guardando o estado de uma Activity – onSaveInstanceState() / onRestoreInstanceState() - Outros eventos importantes: onCreateOptionsMenu, onKeyDown, onMenuItemSelected, onTouchEvent, onWindowFocusChanged Desenvolvimento
  • 29. - São atividades que operam em background por um longo tempo e não provêem interface para o usuário - É necessário declarar os Services, que a aplicação poderá disparar, no manifest - Pode ser executado, desacoplado, e capturado futuramente - onCreate(), onStartCommand(), onBind(), onUnbind(), onRebind(), onDestroy() Services Desenvolvimento
  • 31. UI – User Interface Desenvolvimento
  • 32. - Shared Preferences – dados de usuário / internos do smartphone - Internal storage MODE_PRIVATE MODE_APPEND MODE_WORLD_READABLE MODE_WORLD_WRITABLE - External storage Environment.getExternalStorageState() getExternalStoragePublicDirectory() – images/music/ringtones/videos - SQLite databases - Network connection Data Storage Desenvolvimento
  • 33. - Nenhuma aplicação tem permissão para interferir em outros processos, outras aplicações, ou informações confidenciais do sistema - Application signing - Permissões Existem 115 diferentes tipos de permissões Security Desenvolvimento
  • 34. - Manifest -AppWidgetProviderInfo -onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive() Widgets Desenvolvimento
  • 35.