SlideShare a Scribd company logo
1 of 59
Download to read offline
Introdução à programação em
          Android
               Guilherme Callegaro Sesterheim
GuilhermeSesterheim

•   Consultor e desenvolvedor ABAP da ilegra

•   Possui formação em Análise e
    Desenvolvimento de Sistemas pela Unisinos

•   Mestrando em Computação Aplicada na
    Unisinos

•   Experiência como desenvolvedor Java e na
    plataforma Android
Agenda

•   Quem é a ilegra?

•   Android e smartphones

•   Fragmentação de versões Android

•   Ambiente de desenvolvimento

•   Testes de aplicativos

•   Publicando aplicativos

•   Desenvolvimento
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

                  O Android em 2006
– Sem touch-screen
– Com teclado físico
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, 900 mil 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
Android
                                 Perspectivas para desenvolvedores

                             - O Market 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

                             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
Imagem desatualizada
Android
                      Tendências encontradas

   – Vendas de aplicativos na China cresce exponencialmente,
     tendendo a ultrapassar os EUA como maior comprador de apps*
   – Grandes jogos baixam seus preços cada vez mais
   – 91% das grandes companhias já têm aplicativos para pelo
     menos uma plataforma, e estudam a criação de aplicativos para
     todas
   – Entrada do WP




* Chineses não consomem aplicativos Android
Android
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:
   • O lucro da HTC triplicou no primeiro trimestre de 2011 em função da
     demanda por Androids, mas já apresenta forte queda
   • A Motorola estudava desenvolvimento de um mobile OS próprio
   • Nokia mantem prejuizos com o Windows Phone
   • 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

Problemas do Market
•   Aplicativos maliciosos – roubo de
    informações
•   Em março de 2011 foram descobertos e
    removidos 52 aplicativos virais do
    Android Market. Eles representavam
    diversas ameaças aos usuários,
    responsáveis pelos mais de 50 mil
    downloads (escondidos em
    calculadoras, jogos de xadrez, entre
    outros)
•   Identificado um bug ao acessar páginas
    HTML que resetava o aparelho para o
    padrão de fábrica
•   Iniciada a utilização do Google remote
    kill, implementado desde 2008
Fragmentação de versões do Android

Fragmentação de versões operando em smartphones (04/2012)
Fragmentação de versões do Android

         Tentativa de diminuição da fragmentação
Ainda não é possível medir a diminuição da fragmentação ocorrida
com o lançamento do 4.0 – ICS, que é compatível com smarthpones e
tablets

Foi feito um acordo entre fabricantes e Google para que todos os
novos modelos de smartphone sejam atualizados por pelo menos 18
meses, mas até o momento as fabricantes não o cumprem
Ambiente de desenvolvimento

         Baixando o SDK
Ambiente de desenvolvimento
Escolhendo os SDK que serão instalados
Ambiente de desenvolvimento

            Montando o ambiente de desenvolvimento

1 – Baixar o eclipse em eclipse.org/downloads

2 – Instalar o ADT (Android development tools) plugin
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 e físicos*
   * Tradutor de aplicativos nativo
Ambiente de desenvolvimento

      Construtor de interface
Testes de Aplicativos

Criando dispositivos de teste
Testes de Aplicativos
       Emulador
Testes de Aplicativos

              ADB – Android Debug Bridge

- Localizado em <sdk-path>/platform-tools/
- Pode receber instruções via linha de comando
Publicando Aplicativos

Criando conta no Android Market
Publicando Aplicativos


- Inserindo dados
comerciais na conta do
Google Checkout para
poder vender aplicativos

- É permitido o cadastro de
pessoas físicas
Publicando Aplicativos

Atrelando conta do AdSense ao Google Checkout
Publicando Aplicativos

       Manage board
Publicando Aplicativos

  Passos para publicar um aplicativo:

1. Enviando o .apk
2. Enviar recursos para divulgação
3. Descrever detalhes sobre a aplicação
4. Opções de publicação
5. Informações para contato a ser divulgada aos usuários
6. Autorização ao Google
Publicando Aplicativos
Enviar recursos para divulgação
Publicando Aplicativos

Descrever detalhes sobre a aplicação
Publicando Aplicativos

Descrever detalhes sobre a aplicação / Opções de
                  publicação
Publicando Aplicativos

– Informações para contato a ser divulgada aos usuários
– Autorização ao Google
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

     Manifest
Desenvolvimento

                     Debugging

- ADB – Android Debug Bridge
- AVD – Android Virtual Device
- Logcat
- Captura de telas
- Debug.startMethodTracing(String fileName)
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

- 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


                       Services

- 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()
Desenvolvimento
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
Desenvolvimento


                            Security
- 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
Desenvolvimento

                          Widgets
- Manifest




- AppWidgetProviderInfo




- onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive()
Perguntas




Obrigado!
 Guilherme Sesterheim
 guilherme.sesterheim@ilegra.com
            @guisester
facebook.com/guilherme.sesterheim

More Related Content

What's hot

Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisÉdipo Souza
 
Android e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisAndroid e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisFelipe Silveira
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneHenrique Perticarati
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - BásicoHugoDalevedove
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rqKMILT
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Jose Berardo
 
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 Androidguisester
 
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...Édipo Souza
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidSidney Roberto
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidCarlos Eugenio Torres
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1Kalil Maciel
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Tchelinux
 
A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.Suelen Carvalho
 

What's hot (20)

Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Android e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisAndroid e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociais
 
Apresentação android
Apresentação androidApresentação android
Apresentação android
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 
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
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
 
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO MULTIPLATAFORMA PAR...
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.
 

Viewers also liked

Desenvolvimento ágil pensando além
Desenvolvimento ágil   pensando alémDesenvolvimento ágil   pensando além
Desenvolvimento ágil pensando alémilegra
 
Desenvolvimento Ágil com XP
Desenvolvimento Ágil com XPDesenvolvimento Ágil com XP
Desenvolvimento Ágil com XPilegra
 
TI Laranja: há espaço para a criatividade?
TI Laranja: há espaço para a criatividade?TI Laranja: há espaço para a criatividade?
TI Laranja: há espaço para a criatividade?ilegra
 
ilegra movelab
ilegra movelabilegra movelab
ilegra movelabilegra
 
Design Estratégico: da ideia à prototipagem
Design Estratégico: da ideia à prototipagemDesign Estratégico: da ideia à prototipagem
Design Estratégico: da ideia à prototipagemilegra
 
Workshop Análises de Tendências e Inovação
Workshop Análises de Tendências e InovaçãoWorkshop Análises de Tendências e Inovação
Workshop Análises de Tendências e Inovaçãoilegra
 
Saia da bolha: use sua capacidade de interagir no mundo da TI
Saia da bolha: use sua capacidade de interagir no mundo da TISaia da bolha: use sua capacidade de interagir no mundo da TI
Saia da bolha: use sua capacidade de interagir no mundo da TIilegra
 

Viewers also liked (7)

Desenvolvimento ágil pensando além
Desenvolvimento ágil   pensando alémDesenvolvimento ágil   pensando além
Desenvolvimento ágil pensando além
 
Desenvolvimento Ágil com XP
Desenvolvimento Ágil com XPDesenvolvimento Ágil com XP
Desenvolvimento Ágil com XP
 
TI Laranja: há espaço para a criatividade?
TI Laranja: há espaço para a criatividade?TI Laranja: há espaço para a criatividade?
TI Laranja: há espaço para a criatividade?
 
ilegra movelab
ilegra movelabilegra movelab
ilegra movelab
 
Design Estratégico: da ideia à prototipagem
Design Estratégico: da ideia à prototipagemDesign Estratégico: da ideia à prototipagem
Design Estratégico: da ideia à prototipagem
 
Workshop Análises de Tendências e Inovação
Workshop Análises de Tendências e InovaçãoWorkshop Análises de Tendências e Inovação
Workshop Análises de Tendências e Inovação
 
Saia da bolha: use sua capacidade de interagir no mundo da TI
Saia da bolha: use sua capacidade de interagir no mundo da TISaia da bolha: use sua capacidade de interagir no mundo da TI
Saia da bolha: use sua capacidade de interagir no mundo da TI
 

Similar to Android Introdução Programação

Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013guisester
 
Workshop sobre códigos em android usp 22.08.2013
Workshop sobre códigos em android   usp 22.08.2013Workshop sobre códigos em android   usp 22.08.2013
Workshop sobre códigos em android usp 22.08.2013guisester
 
Palestra sobre Android - Faculdade Hélio Rocha
Palestra sobre Android  - Faculdade Hélio RochaPalestra sobre Android  - Faculdade Hélio Rocha
Palestra sobre Android - Faculdade Hélio RochaUbiracy Santos
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileWaldyr Felix
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android NooclixIury Teixeira
 
Palestra sobre android
Palestra sobre androidPalestra sobre android
Palestra sobre androidReuel Lopes
 
Aula01 mobilidade android
Aula01 mobilidade androidAula01 mobilidade android
Aula01 mobilidade androidRoberson Alves
 
Hands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFHands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFGiordano Bruno Vieira
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisRogério Moraes de Carvalho
 
Palestra Dispositivos Móveis
Palestra Dispositivos MóveisPalestra Dispositivos Móveis
Palestra Dispositivos MóveisGrendene S/A
 
Android Palestra
Android PalestraAndroid Palestra
Android PalestraRenato
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Androidjgbirk
 
Hello world hybrid apps oportunidades com ionic framework v2
Hello world hybrid apps  oportunidades com ionic framework v2Hello world hybrid apps  oportunidades com ionic framework v2
Hello world hybrid apps oportunidades com ionic framework v2Ricardo Netto - MCP, MSP
 

Similar to Android Introdução Programação (20)

Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013Introdução à programação em Android SENAC 17.06.2013
Introdução à programação em Android SENAC 17.06.2013
 
Workshop sobre códigos em android usp 22.08.2013
Workshop sobre códigos em android   usp 22.08.2013Workshop sobre códigos em android   usp 22.08.2013
Workshop sobre códigos em android usp 22.08.2013
 
Palestra sobre Android - Faculdade Hélio Rocha
Palestra sobre Android  - Faculdade Hélio RochaPalestra sobre Android  - Faculdade Hélio Rocha
Palestra sobre Android - Faculdade Hélio Rocha
 
Ciclo de palestras da JFRJ - Aplicativos Móveis
Ciclo de palestras da JFRJ - Aplicativos MóveisCiclo de palestras da JFRJ - Aplicativos Móveis
Ciclo de palestras da JFRJ - Aplicativos Móveis
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento Mobile
 
Conhecendo android
Conhecendo androidConhecendo android
Conhecendo android
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 
Palestra sobre android
Palestra sobre androidPalestra sobre android
Palestra sobre android
 
Show Day Droid x
Show Day Droid xShow Day Droid x
Show Day Droid x
 
Android Developing
Android DevelopingAndroid Developing
Android Developing
 
Going Mobile
Going MobileGoing Mobile
Going Mobile
 
Aula01 mobilidade android
Aula01 mobilidade androidAula01 mobilidade android
Aula01 mobilidade android
 
Hands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFHands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JF
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
 
Palestra Dispositivos Móveis
Palestra Dispositivos MóveisPalestra Dispositivos Móveis
Palestra Dispositivos Móveis
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
 
Hello world hybrid apps oportunidades com ionic framework v2
Hello world hybrid apps  oportunidades com ionic framework v2Hello world hybrid apps  oportunidades com ionic framework v2
Hello world hybrid apps oportunidades com ionic framework v2
 

More from ilegra

Construindo uma experiência digital diferenciada
Construindo uma experiência digital diferenciadaConstruindo uma experiência digital diferenciada
Construindo uma experiência digital diferenciadailegra
 
A arte de atrair e reter talentos
A arte de atrair e reter talentosA arte de atrair e reter talentos
A arte de atrair e reter talentosilegra
 
Perfil do Profissional de TI - Pensando Além
Perfil do Profissional de TI - Pensando AlémPerfil do Profissional de TI - Pensando Além
Perfil do Profissional de TI - Pensando Alémilegra
 
Introdução ao SAP
Introdução ao SAPIntrodução ao SAP
Introdução ao SAPilegra
 
TI Laranja: há espaço para criatividade?
TI Laranja: há espaço para criatividade?TI Laranja: há espaço para criatividade?
TI Laranja: há espaço para criatividade?ilegra
 
DBA as a Service
DBA as a ServiceDBA as a Service
DBA as a Serviceilegra
 
Recrutamento e Seleção: a busca de jovens talentos
Recrutamento e Seleção: a busca de jovens talentosRecrutamento e Seleção: a busca de jovens talentos
Recrutamento e Seleção: a busca de jovens talentosilegra
 
Processos em uma empresa criativa
Processos em uma empresa criativa Processos em uma empresa criativa
Processos em uma empresa criativa ilegra
 
Desenvolvimento Ágil - Pensando Além
Desenvolvimento Ágil - Pensando AlémDesenvolvimento Ágil - Pensando Além
Desenvolvimento Ágil - Pensando Alémilegra
 
Perfil do profissional de TI - Pensando Além
Perfil do profissional de TI - Pensando AlémPerfil do profissional de TI - Pensando Além
Perfil do profissional de TI - Pensando Alémilegra
 
O desafio de empreender em TI
O desafio de empreender em TIO desafio de empreender em TI
O desafio de empreender em TIilegra
 
Geração x, y e z no mercado de trabalho
Geração x, y e z no mercado de trabalhoGeração x, y e z no mercado de trabalho
Geração x, y e z no mercado de trabalhoilegra
 
Palestra Programa Jovens Talentos no IFSul
Palestra Programa Jovens Talentos no IFSulPalestra Programa Jovens Talentos no IFSul
Palestra Programa Jovens Talentos no IFSulilegra
 

More from ilegra (13)

Construindo uma experiência digital diferenciada
Construindo uma experiência digital diferenciadaConstruindo uma experiência digital diferenciada
Construindo uma experiência digital diferenciada
 
A arte de atrair e reter talentos
A arte de atrair e reter talentosA arte de atrair e reter talentos
A arte de atrair e reter talentos
 
Perfil do Profissional de TI - Pensando Além
Perfil do Profissional de TI - Pensando AlémPerfil do Profissional de TI - Pensando Além
Perfil do Profissional de TI - Pensando Além
 
Introdução ao SAP
Introdução ao SAPIntrodução ao SAP
Introdução ao SAP
 
TI Laranja: há espaço para criatividade?
TI Laranja: há espaço para criatividade?TI Laranja: há espaço para criatividade?
TI Laranja: há espaço para criatividade?
 
DBA as a Service
DBA as a ServiceDBA as a Service
DBA as a Service
 
Recrutamento e Seleção: a busca de jovens talentos
Recrutamento e Seleção: a busca de jovens talentosRecrutamento e Seleção: a busca de jovens talentos
Recrutamento e Seleção: a busca de jovens talentos
 
Processos em uma empresa criativa
Processos em uma empresa criativa Processos em uma empresa criativa
Processos em uma empresa criativa
 
Desenvolvimento Ágil - Pensando Além
Desenvolvimento Ágil - Pensando AlémDesenvolvimento Ágil - Pensando Além
Desenvolvimento Ágil - Pensando Além
 
Perfil do profissional de TI - Pensando Além
Perfil do profissional de TI - Pensando AlémPerfil do profissional de TI - Pensando Além
Perfil do profissional de TI - Pensando Além
 
O desafio de empreender em TI
O desafio de empreender em TIO desafio de empreender em TI
O desafio de empreender em TI
 
Geração x, y e z no mercado de trabalho
Geração x, y e z no mercado de trabalhoGeração x, y e z no mercado de trabalho
Geração x, y e z no mercado de trabalho
 
Palestra Programa Jovens Talentos no IFSul
Palestra Programa Jovens Talentos no IFSulPalestra Programa Jovens Talentos no IFSul
Palestra Programa Jovens Talentos no IFSul
 

Android Introdução Programação

  • 1. Introdução à programação em Android Guilherme Callegaro Sesterheim
  • 2. GuilhermeSesterheim • Consultor e desenvolvedor ABAP da ilegra • Possui formação em Análise e Desenvolvimento de Sistemas pela Unisinos • Mestrando em Computação Aplicada na Unisinos • Experiência como desenvolvedor Java e na plataforma Android
  • 3. Agenda • Quem é a ilegra? • Android e smartphones • Fragmentação de versões Android • Ambiente de desenvolvimento • Testes de aplicativos • Publicando aplicativos • Desenvolvimento
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 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 O Android em 2006 – Sem touch-screen – Com teclado físico
  • 12. 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, 900 mil 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. Android Perspectivas para desenvolvedores - O Market 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 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 Imagem desatualizada
  • 14. Android Tendências encontradas – Vendas de aplicativos na China cresce exponencialmente, tendendo a ultrapassar os EUA como maior comprador de apps* – Grandes jogos baixam seus preços cada vez mais – 91% das grandes companhias já têm aplicativos para pelo menos uma plataforma, e estudam a criação de aplicativos para todas – Entrada do WP * Chineses não consomem aplicativos Android
  • 16. 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: • O lucro da HTC triplicou no primeiro trimestre de 2011 em função da demanda por Androids, mas já apresenta forte queda • A Motorola estudava desenvolvimento de um mobile OS próprio • Nokia mantem prejuizos com o Windows Phone • Microsoft lucra mais com Android do que com WP
  • 17. Android Smartphones de baixo custo - Samsung Galaxy 5 – 2.1 (R$ 300,00) - Sony Ericsson Xperia X10 – 2.1 (R$ 300,00)
  • 18. Android Problemas do Market • Aplicativos maliciosos – roubo de informações • Em março de 2011 foram descobertos e removidos 52 aplicativos virais do Android Market. Eles representavam diversas ameaças aos usuários, responsáveis pelos mais de 50 mil downloads (escondidos em calculadoras, jogos de xadrez, entre outros) • Identificado um bug ao acessar páginas HTML que resetava o aparelho para o padrão de fábrica • Iniciada a utilização do Google remote kill, implementado desde 2008
  • 19.
  • 20. Fragmentação de versões do Android Fragmentação de versões operando em smartphones (04/2012)
  • 21. Fragmentação de versões do Android Tentativa de diminuição da fragmentação Ainda não é possível medir a diminuição da fragmentação ocorrida com o lançamento do 4.0 – ICS, que é compatível com smarthpones e tablets Foi feito um acordo entre fabricantes e Google para que todos os novos modelos de smartphone sejam atualizados por pelo menos 18 meses, mas até o momento as fabricantes não o cumprem
  • 22.
  • 23. Ambiente de desenvolvimento Baixando o SDK
  • 24. Ambiente de desenvolvimento Escolhendo os SDK que serão instalados
  • 25. Ambiente de desenvolvimento Montando o ambiente de desenvolvimento 1 – Baixar o eclipse em eclipse.org/downloads 2 – Instalar o ADT (Android development tools) plugin
  • 28. 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
  • 29. 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 e físicos* * Tradutor de aplicativos nativo
  • 30. Ambiente de desenvolvimento Construtor de interface
  • 31.
  • 32. Testes de Aplicativos Criando dispositivos de teste
  • 34. Testes de Aplicativos ADB – Android Debug Bridge - Localizado em <sdk-path>/platform-tools/ - Pode receber instruções via linha de comando
  • 35.
  • 37. Publicando Aplicativos - Inserindo dados comerciais na conta do Google Checkout para poder vender aplicativos - É permitido o cadastro de pessoas físicas
  • 38. Publicando Aplicativos Atrelando conta do AdSense ao Google Checkout
  • 39. Publicando Aplicativos Manage board
  • 40. Publicando Aplicativos Passos para publicar um aplicativo: 1. Enviando o .apk 2. Enviar recursos para divulgação 3. Descrever detalhes sobre a aplicação 4. Opções de publicação 5. Informações para contato a ser divulgada aos usuários 6. Autorização ao Google
  • 43. Publicando Aplicativos Descrever detalhes sobre a aplicação / Opções de publicação
  • 44. Publicando Aplicativos – Informações para contato a ser divulgada aos usuários – Autorização ao Google
  • 45.
  • 46. 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
  • 47. Desenvolvimento Manifest
  • 48. Desenvolvimento Debugging - ADB – Android Debug Bridge - AVD – Android Virtual Device - Logcat - Captura de telas - Debug.startMethodTracing(String fileName)
  • 49. 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
  • 50. Desenvolvimento - 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
  • 51. Desenvolvimento Services - 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()
  • 53. Desenvolvimento UI – User Interface
  • 54. 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
  • 55. Desenvolvimento Security - 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
  • 56. Desenvolvimento Widgets - Manifest - AppWidgetProviderInfo - onUpdate() onDeleted(), onEnabled(), onDisabled(), onReceive()
  • 57.
  • 58.
  • 59. Perguntas Obrigado! Guilherme Sesterheim guilherme.sesterheim@ilegra.com @guisester facebook.com/guilherme.sesterheim