Guilherme Callegaro Sesterheim apresenta sobre desenvolvimento para Android. Ele discute brevemente sobre a história do Android, ambientes de desenvolvimento, armazenamento de dados e segurança. O foco principal é ensinar os fundamentos e componentes principais para criar aplicativos móveis para a plataforma Android.
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
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
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
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
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