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
Android 
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 
- 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 
Android 
- 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
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
Testes de Aplicativos 
Emulador
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 
Debugging 
- ADB – Android Debug Bridge 
- AVD – Android Virtual Device 
- Logcat
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
Desenvolvimento 
UI – User Interface
Desenvolvimento 
Data Storage 
- 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
Códigos
Perguntas 
Obrigado! 
Guilherme Sesterheim 
guilherme.sesterheim@ilegra.com 
facebook.com/guilherme.sesterheim 
www.sesterheim.com.br

Introdução a programação em Android

  • 1.
    Introdução à programaçãoem Android Guilherme Callegaro Sesterheim
  • 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
  • 6.
  • 9.
    Android 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++
  • 10.
    Android - Emabril 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
  • 11.
    Perspectivas para desenvolvedores Android - 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
  • 12.
    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
  • 13.
    Smartphones de baixocusto - Moto E (R$ 449,00) - Moto G (R$ 649,00) - Nexus 5 (R$ 1200,00) Android
  • 15.
    Ambiente de desenvolvimento Eclipse bundle http://developer.android.com/sdk/index.html
  • 16.
    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
  • 17.
    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
  • 18.
    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.
    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
  • 23.
    Desenvolvimento Debugging -ADB – Android Debug Bridge - AVD – Android Virtual Device - Logcat
  • 24.
    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
  • 25.
    Desenvolvimento UI –User Interface
  • 26.
    Desenvolvimento Data Storage - 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
  • 28.
  • 30.
    Perguntas Obrigado! GuilhermeSesterheim guilherme.sesterheim@ilegra.com facebook.com/guilherme.sesterheim www.sesterheim.com.br