Introdução à programação em
Android
Guilherme Callegaro Sesterheim
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
Vagas na ilegra
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 setembro de 2012 o Android Market possuía mais de 675 mil aplicativos
disponíveis (em maio eram 450 mil e em maio de 2011 eram 200 mil). Também em
setembro alcançaram a marca de 25 bilhões de downloads de aplicativos.
- 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 (10/2012):
Motorola - Droid Razr HD (bateria)
Samsung - Galaxy SIII
Samsung - Galaxy Nexus (Galaxy X no Brasil)
LG Optimus G (ainda não disponível no Brasil)
HTC - One X+ (ainda não disponível no Brasil)
– Curiosidades:
• Microsoft lucra mais com Android do que com WP
Android
Smartphones de baixo custo
- Samsung Galaxy 5 – 2.1 (R$ 300,00)
- Sony Ericsson Xperia X10 – 2.1 (R$ 300,00)
Android
Baixando o SDK – developer.android.com
Ambiente de desenvolvimento
Escolhendo os SDK que serão instalados
Ambiente de desenvolvimento
Montando o ambiente de desenvolvimento
1 – Eclipse em eclipse.org/downloads
2 – Instalar o ADT (Android development tools) plugin
Ambiente de desenvolvimento
Ambiente de desenvolvimento
Ambiente de desenvolvimento
Ambiente de desenvolvimento
Montando o ambiente de desenvolvimento – alternativa
1 – Baixar o plugin diretamente no site do Android
2 – Repetir o procedimento mostrado anteriormente, porém escolhendo o
arquivo localmente
Após a instalação, é necessário indicar qual SDK deverá ser utilizado através
do menu Window > Preferences > Android
IMPORTANTE: é necessário verificar periodicamente as atualizações, através do menu
Help > Check for Updates, ou através do site do Android
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
Construtor de interface
Ambiente de desenvolvimento
Testes de Aplicativos
Criando dispositivos de teste
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()
- Intents:
ACTION_VIEW
ACTION_DIAL
ACTION_EDIT
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

Introdução à programação em Android - Alcides Maya 16.04.2013

  • 1.
    Introdução à programaçãoem Android Guilherme Callegaro Sesterheim
  • 2.
    GuilhermeSesterheim • Consultor edesenvolvedor 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
  • 8.
  • 10.
    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
  • 11.
    O Android em2006 – Sem touch-screen – Com teclado físico Android
  • 12.
  • 13.
    Android - Em setembrode 2012 o Android Market possuía mais de 675 mil aplicativos disponíveis (em maio eram 450 mil e em maio de 2011 eram 200 mil). Também em setembro alcançaram a marca de 25 bilhões de downloads de aplicativos. - 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
  • 14.
    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.
  • 16.
    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 (10/2012): Motorola - Droid Razr HD (bateria) Samsung - Galaxy SIII Samsung - Galaxy Nexus (Galaxy X no Brasil) LG Optimus G (ainda não disponível no Brasil) HTC - One X+ (ainda não disponível no Brasil) – Curiosidades: • Microsoft lucra mais com Android do que com WP Android
  • 17.
    Smartphones de baixocusto - Samsung Galaxy 5 – 2.1 (R$ 300,00) - Sony Ericsson Xperia X10 – 2.1 (R$ 300,00) Android
  • 19.
    Baixando o SDK– developer.android.com Ambiente de desenvolvimento
  • 20.
    Escolhendo os SDKque serão instalados Ambiente de desenvolvimento
  • 21.
    Montando o ambientede desenvolvimento 1 – Eclipse em eclipse.org/downloads 2 – Instalar o ADT (Android development tools) plugin Ambiente de desenvolvimento
  • 22.
  • 23.
  • 24.
    Ambiente de desenvolvimento Montandoo ambiente de desenvolvimento – alternativa 1 – Baixar o plugin diretamente no site do Android 2 – Repetir o procedimento mostrado anteriormente, porém escolhendo o arquivo localmente Após a instalação, é necessário indicar qual SDK deverá ser utilizado através do menu Window > Preferences > Android IMPORTANTE: é necessário verificar periodicamente as atualizações, através do menu Help > Check for Updates, ou através do site do Android
  • 25.
    Ambiente de desenvolvimento Motodevstudio –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
  • 26.
  • 28.
    Testes de Aplicativos Criandodispositivos de teste
  • 29.
  • 30.
    ADB – AndroidDebug Bridge - Localizado em <sdk-path>/platform-tools/ - Pode receber instruções via linha de comando Testes de Aplicativos
  • 32.
    Desenvolvimento Fundamentals - Os aplicativosde 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
  • 33.
  • 34.
    Desenvolvimento - ADB –Android Debug Bridge - AVD – Android Virtual Device - Logcat - Captura de telas - Debug.startMethodTracing(String fileName) Debugging
  • 35.
    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
  • 36.
    - Definindo atela 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
  • 37.
    - São atividadesque 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
  • 38.
  • 39.
    UI – UserInterface Desenvolvimento
  • 40.
    - 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
  • 41.
    - Nenhuma aplicaçãotem 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
  • 42.
    - Manifest - AppWidgetProviderInfo -onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive() Widgets Desenvolvimento
  • 44.