introdução a programação em android
TRANSCRIPT
Introdução à programação em Android
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
Nossos serviços
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
Android
- Em abril de 2012 a Google Play possuía mais de 700 mil aplicativos disponíveis (em maio eram 450 mil e em maio de 2011 eram 200 mil). Já são mais de 25 bilhões de downloads de aplicativos.
- Todo mês, mais de 25 mil novos aplicativos são enviados. - A cada dia, 1,5 milhão dispositivos Android são ativados
Perspectivas para desenvolvedores
- A Play 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 (modelo mais rentável) - 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
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 Agosto 2013 – Moto X
– Top Android phones (11/2014): Samsung Galaxy S5
Samsung Galaxy Note 3 Nexus 6
Android
Smartphones de baixo custo
- Moto E (R$ 449,00) - Moto G (R$ 649,00) - Nexus 5 (R$ 1200,00)
Android
Ambiente de desenvolvimento Eclipse bundle
http://developer.android.com/sdk/index.html
Ambiente de desenvolvimento Android Studio
- Último a ser lançado - Desenvolvimento de interfaces simplificado - Testes de tamanhos de telas simplificado - http://developer.android.com/sdk/installing/studio.html
Ambiente de desenvolvimento Android Studio
- Último a ser lançado - Desenvolvimento de interfaces simplificado - Testes de tamanhos de telas simplificado - http://developer.android.com/sdk/installing/studio.html
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
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
Desenvolvimento
- ADB – Android Debug Bridge
- AVD – Android Virtual Device
- Logcat
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()
- Intents: ACTION_VIEW ACTION_DIAL ACTION_EDIT ACTION_MAIN
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
Códigos
Obrigado! Guilherme Sesterheim
[email protected] facebook.com/guilherme.sesterheim
www.sesterheim.com.br
Perguntas