SlideShare a Scribd company logo
1 of 101
Download to read offline
Desenvolvimento de
Apps e Games para Android




Por Erisvaldo Júnior.   Parte 1 (06/09/2011)
Roteiro da Aula


 MERCADO E      O ANDROID           ARQUITETURA
PLATAFORMAS   HOJE E AMANHÃ         DO ANDROID




                      Bem vindo ao mundo da mobilidade
MERCADO E PLATAFORMAS
O Mercado Mobile



                         Mercado brasileiro de telefonia móvel;
Organize with Sections




                         Números do mercado internacional;

                         Mercado de jogos (Brasil e mundo).
Celulares no Brasil (2007 a 2009)
Market Share das operadoras no Brasil (2007 a 2009)
Mercado brasileiro de celulares (2010)


      202 milhões e 944 mil celulares
      Crescimento de 16,7%;
      104,7 celulares a cada 100 habitantes.


      Operadoras
      Vivo - 29,7%
      Claro - 25,4%
      TIM – 25,1%
      Oi – 19,4%
Celulares no mundo (2000 a 2009)
Principais mercados de celular no mundo (2008 e 2009)
Operadoras de telefonia no mundo (2008 e 2009)
Market Share dos fabricantes (2005 a 2007)
Market Share dos fabricantes (2009 e 2010)
Mercado americano de jogos para dispositivos móveis
Mercado mundial de jogos para dispositivos móveis




                        Gartner
SOs para Desenvolvimento (no Presente)




          iOS                    Android
          RIM                      SYMBIAN



PALM OS         Windows Mobile               MAEMO
Android (Open Handset Alliance, liderada pelo Google)

       Plataforma aberta baseada em Linux;

       Android Development Tools (ADT)
       Plugin para Eclipse;

       Desenvolvimento em Java (Linux /
       Windows / Mac OS);

       1º smartphone: HTC G1 (2008);
       1º tablet: Samsung Galaxy Tab (2010).
iOS (Apple)

iPod, iPhone (2007) e iPad (2010);

Baseado no Mac OS X (Objective-C);

Kit de desenvolvimento exclusivo para
Mac OS;

Aplicativos exclusivamente na Apple
App Store.
Plataformas para Desenvolvimento (no Presente)



                  JavaME
                     Qt

                  Flash Lite
                   PyS60
                   BREW
JavaME



Quase 2 bilhões de aparelhos;

Grande comunidade de
desenvolvedores;

Atingiu 95% dos aparelhos em 2007.
Comparativo entre JavaME e Flash Lite
Comparativo entre Tecnologias
SOs para Desenvolvimento (Apostas para o Futuro)



      Windows                  Windows
      Phone 7                     8


         BADA                    MeeGo
Mercado de Smartphones em 2010
Mercado de Smartphones em 2010
Mercado de Smartphones em 2010
Android já lidera mercado mundial de smartphones
No primeiro trimestre de 2011, 35% dos smartphones vendidos eram
                Android, contra 19% do iOS, da Apple




                                       http://www.geektech.com.br/?p=116
Lojas de Aplicativos para Dispositivos Móveis (App Stores)

                   Modelo Antigo (antes das App Stores)

 Desenvolvedor /
                        Publisher / Grande Empresa            Operadoras
Pequena Empresa




            A porcentagem final para o desenvolvedor independente ou
            pequena empresa acabava sendo menor que 20% do total.
Lojas de Aplicativos para Dispositivos Móveis (App Stores)

                   Novo Modelo (era das App Stores)

Desenvolvedor /                                          Loja de aplicativos do
   Empresa                                             Fabricante ou Operadora




            A porcentagem final para o desenvolvedor independente ou
                   empresa agora gira em torno de 70% do total.
Apple App Store
Loja de aplicativos para iOS (iPod, iPhone e iPad) gerenciada
pela Apple e disponível através dos próprios aparelhos.
Lançada em julho de 2008;

340 mil aplicativos e 10 bilhões de downloads até
janeiro de 2011;

Disponível em cerca de 90 países;

Share de 70% Desenvolvedor e 30% Apple;

Desenvolvedor paga inscrição e anuidade no valor
de U$ 99,00.
Google Android Market
Loja de aplicativos para Android gerenciada pela Google e
disponível através dos próprios aparelhos.
 Lançado em outubro de 2008;

 Mais de 200 mil aplicativos e 3 bilhões de
 downloads até janeiro de 2011;

 Disponível em cerca de 48 países;

 Share de 70% Desenvolvedor e 30% Google;

 Desenvolvedor paga taxa única de inscrição no
 valor de U$ 25,00.
Comparativo Android Market X Apple App Store
Dados referentes ao ano de 2009, quando a distância entre
Android Market e a Apple App Store ainda era muito grande.
Comparativo Android Market x Apple App Store
A média de downloads da Apple App Store é superior a do Android
Market, bem como a porcentagem de usuários que compram aplicações
(dados de 2009).
Nokia Ovi Store
Loja de aplicativos para dispositivos Nokia (Symbian, QT, Flash
Lite e JavaME) e disponível através dos próprios aparelhos.

  Lançada em maio de 2009;

  50 mil aplicativos e média de 3 milhões de
  downloads por dia (janeiro de 2011);

  Disponível em mais de 200 países;

  Share de 70% Desenvolvedor e 30% Nokia;

  Desenvolvedor paga taxa única de inscrição
  de apenas 1 (um) euro.
Comparação entre App Stores (custo para desenvolvedores)
Relação de App Stores (distimo.com)
Amazon App Store (março / 2011)
Mercado de Apps:
In-App Billing é uma tendência
Jogos e aplicativos são gratuitos à priori, embora vários
recursos possam ser comprados dentro do próprio app.
Android Market oferece serviço de In-App Billing
Pode-se vender conteúdo digital dentro do aplicativo, como
itens ou fases de jogos e funcionalidades extras para
aplicativos. O share é de 70% para o desenvolvedor e 30% para
a Google em cima do valor da venda.
Google App Inventor for Android
Criação de aplicações para Android visualmente, sem a
necessidade de escrever código.
Google App Inventor for Android
Orientado a blocos, basta definir as suas propriedades visuais e
as suas ações para determinados eventos.
Google App Inventor for Android
O ANDROID HOJE
   E AMANHÃ
Definição do Android



Pilha de Software para Dispositivos Móveis que
inclui um Sistema Operacional, um Middleware e
aplicações-chave.

O Android SDK provê ferramentas e APIs para o
desenvolvimento de aplicações na plataforma
Android usando a linguagem de programação Java.
Recursos do Android


• Biblioteca Gráfica 2D e Suporte a 3D (OpenGL ES);

• SQLite;

• Mídias diversas (MPEG-4, H.264, MP3, AAC, AMR, JPG, PNG, GIF);

• Bluetooth, EDGE, 3G e WiFi (dependente do hardware);

• Câmera, GPS, Bússola e Acelerômetro (dependente do hardware);

• Desenvolvimento: Android Development Tools (ADT) para Eclipse.
Arquitetura do Android
Componentes de Aplicações




Activity              Service


Content             Broadcast
Provider             Receiver
História do Android – 2005 a 2007

   Julho de 2005: Google comprou a
   startup Android;

   Novembro de 2007: Google anunciou a
   Open Handset Alliance (OHA) e o
   Android;

   Ainda nesse mês, liberou a primeira
   versão do Android SDK.
História do Android - 2008


    Outubro de 2008: Android se torna
    Open Source;

    Ainda nesse mês, lançado o primeiro
    smartphone com Android: o HTC G1;

    Lançado o primeiro Android Developer
    Phone (ADP), baseado no G1.
História do Android - 2009

    Julho de 2009: HTC Hero, concorrente
    direto do iPhone;

    Novembro de 2009: Motorola Droid, 1
    milhão de unidades em pouco mais de
    dois meses;

    Chegou no Brasil como Motorola
    Milestone e foi sucesso de vendas.
História do Android - 2010


    Em 2010, dezenas de ótimos
    smartphones Android foram lançados;

    Setembro de 2010: Samsung Galaxy Tab,
    primeiro tablet a concorrer com o iPad;

    Dezembro de 2010: Quarto ADP
    lançado, o Samsung Nexus S.
História do Android - 2011

   Lançamento dos primeiros tablets com o
   Android 3 (Honeycomb);

   Gingerbread parece ser o fim da linha para
   smartphones Android 2.x;

   Anúncio do Android Market para Google TV
   (Android 3.1);

   Possível lançamento do Ice Cream Sandwich
   (Android 4) + quinto ADP, o Nexus Prime.
Versões do Android




                     AndroidManifest.xml
Android 1.1 (fevereiro de 2009)
   • Aplicativos e funcionalidades básicas
Android 1.5 Cupcake (maio de 2009)
   •   Interface remodelada
   •   Gravação de vídeos
   •   Conexão Bluetooth Automática
   •   Upload de vídeos para YouTube e Picasa
   •   Copiar e Colar
Android 1.6 Donut (setembro de 2009)
   •   Novo Android Market
   •   Integração de câmera e galeria
   •   Busca por gestos e voz
Android 2.0/2.1 Eclair (outubro de 2009)
  •   Suporte avançado para múltiplas resoluções e telas
  •   Suporte ao Exchange
  •   Live wallpapers
Android 2.2 Froyo (maio de 2010)
  •   Flash 10
  •   Desempenho bastante otimizado (até 5x)
  •   Hotspot para até 8 aparelhos
  •   Salvar aplicativos no cartão de memória
  •   Discagem por bluetooth
Android 2.3 Gingerbread (dezembro de 2010)
  •   Suporte a NFC
  •   Teclado multitouch
  •   Suporte a SIP
  •   Gerenciador de Downloads
  •   Suporte a câmera frontal e vídeo-conferência
Pacote android.nfc
NFC (Near Field Communication)   Permite a comunicação entre dispositivos (iniciador e alvo) com
                                 distância de centímetros. O alvo é uma tag RFID ou peer-to-peer.




                                     Pagamento pelo celular             Troca de informações




                                            Chaves                      Ingressos para shows
SIP (Session Initiation Protocol)



                                    Pacote android.net.sip
                                    Android provê uma API que permite a realização de
                                    chamadas através do protocolo SIP. Pode ser usado para
                                    videochamadas ou mensageiros instantâneos.
Novos recursos para o Usuário
Novidades do Android 3    Sistema remodelado e otimizado para os tablets



                         • System Bar
                         • Action Bar
                         • 5 Homes Customizáveis
                         • Aplicações recentes
Novos recursos para o Usuário
Novidades do Android 3

                         • Novo Teclado
                         • Manipulação de Textos
                         • Mais conectividade
                         • Aplicações-chave melhores
Novos recursos para o Usuário
Novidades do Android 3   Aplicações-chave foram aperfeiçoadas
Novos recursos para o Desenvolvedor
Novidades do Android 3    Novo framework de UI, refinado para tablets

                         • Fragmentos
                         • Widgets remodelados
                         • Action Bar customizável
                         • Notificações mais ricas
                         • Seleção múltipla, clipboard
                         e recurso de drag-and-drop
Novidades do Android 3   Novos recursos para o Desenvolvedor

                         • Novo e flexível Framework de animação
                         • Aceleração gráfica 2D por hardware
                         • Renderscript (engine 3D)
                         • Suporte a múltiplos processadores
                         • HTTP Live streaming (M3U)
                         • Framework de DRM
                         • Transferência de arquivos de mídia (MTP/PTP)
                         • Mais opções de conectividade
                         • Segurança para ambientes corporativos
                         • Compatibilidade com aplicações existentes
Novo Android Market
Google Movies, Books e Music   Google, como já fazia a Apple, passa a oferecer não só Apps,
                               como também livros, músicas e aluguel de filmes.
Cartões de Crédito, Cupons, Documentos e até
Google Wallet (Android 2.3+)   chaves no seu smartphone
Principais recursos
Google Wallet (Android 2.3+)


                               Pagamentos         Compras     Segurança
                                                  Coletivas
A revolução do pagamento móvel
Google Wallet (Android 2.3+)

                                  Observe o símbolo
                                  para checkout
                                                       Toque o smartphone
                                                       no leitor
Outro patamar para compras coletivas
Google Wallet (Android 2.3+)




                                Todos os cupons agora cabem no seu bolso
Segurança elevada
Google Wallet (Android 2.3+)




                                 Código PIN protege a sua carteira digital
Google Wallet (Android 2.3+)
                               Onde e como usar hoje?
Android@Home
Google TV terá Android Market ainda em 2011
                          Desenvolvedores poderão distribuir seus aplicativos para serem
                          executados na Google TV, que terá Android Market embutido.
Google TV (Android 3.1)




                                    Google TV                    Google TV Remote
                                                                  (iOS / Android)
Não tem touch, mas tem teclado.
Google TV (Android 3.1)



                                       App “Google TV Only”




                              Caso se declare a tag abaixo, o App NÃO
                                 aparecerá no Google TV Market.
E a Yupi?
Um pé no presente e outro no futuro.
Possuídos vai
começar em 10
  minutos.
ARQUITETURA DO
   ANDROID
Arquitetura do Android
Arquitetura do Android
Applications
Conjunto de aplicações-chave nativas do Android, incluindo um cliente
de e-mail, gerenciador de SMS, calendário, mapa, navegador,
gerenciador de contatos e outros. Todas essas aplicações foram escritas
em Java.


Application Framework
Desenvolvedores tem acesso completo às mesmas APIs que as
aplicações-chave. O framework provê um conjunto de Views que podem
ser utilizados para construir a interface da aplicação, incluindo listas,
tabelas, caixas de texto, botões e até mesmo um browser embutido.
Disponibiliza também Content Providers que permitem o acesso a dados
de outras aplicações (como o gerenciador de Contatos). Há, ainda, o
Resource Manager (provê acesso a recursos como imagens e arquivos
de layout), o Notification Manager (permite que a aplicação mostre
avisos personalizados) e o Activity Manager (gerencia o ciclo de vida da
aplicação e a sua navegação).
Arquitetura do Android
Libraries
Conjunto de bibliotecas C/C++ utilizadas por vários componentes do
Android. Essas bibliotecas provêem recursos que são expostos aos
desenvolvedores através de sua camada sobrejacente: Application
Framework.


Android Runtime
Cada aplicação no Android roda em um processo diferente no Linux e
para cada processo é criada uma instância da máquina virtual Dalvik.
Essa máquina virtual foi criada de forma que um dispositivo possa
executar múltiplas instâncias de forma eficiente.
As classes compiladas da aplicação são transformadas para o formato
.dex (Dalvik Executable), otimizado para uma mínima utilização de
memória. A Dalvik VM interage diretamente com o kernel Linux para
execução de funcionalidades subjacentes como tratamento de
concorrência e gerenciamento de memória.
Noções sobre aplicações Android

    As aplicações são escritas em Java e o seu código compilado,
    juntamente com os recursos que a aplicação utilizada, são
    empacotados em um arquivo .apk pela ferramenta aapt. É
    esse arquivo .apk que é usado para distribuir a aplicação e
    instalá-la nos dispositivos Android;



    Por padrão, cada aplicação é executada como um processo
    separado, com ID único e máquina virtual própria, isolando o
    seu código das demais aplicações.
Componentes da Aplicação
Um recurso fundamental do Android é o reuso de componentes. Caso uma
aplicação precise disponibilizar uma lista de imagens com scrolling e outra
aplicação apresenta tal componente e o disponibilizou para as demais, pode-
se invocar esse componente.


Devido a essa organização dos aplicativos em componentes, as aplicações
Android não possuem um único ponto de entrada (não há um método main(),
por exemplo). Ao invés disso, as aplicações apresentam componentes
essenciais que o sistema pode instanciar e executar quando necessário. Esses
componentes podem ser de quatro tipos:
            Activities (apresenta uma interface visual para o usuário)

            Services (roda em segundo plano por um período de tempo indeterminado)

            Broadcast Receivers (recebe e reage a eventos do sistema)

            Content providers (dados do aplicativo disponíveis para os demais)
Ativando e desativando componentes
Content Providers são ativados por meio de uma requisição de um
ContentResolver. Os demais componentes (Activities, Services e Broadcast
Receivers) são ativados por mensagens assíncronas denominadas intents. Trata-
se de um objeto da classe Intent que armazena o conteúdo da mensagem. Para
activities e services, o objeto apresenta o nome da ação que está sendo
requisitada bem como o endereço do dado em que atuará, além de outras coisas.
No caso de uma Activity, por exemplo, pode conter uma requisição para
apresentar uma imagem ao usuário ou permitir que o usuário edite algum texto.
Já para Broadcast Receivers, o objeto Intent pode anunciar que um botão da
câmera foi pressionado, por exemplo.



 Content Provider e BroadCast Receiver não precisam ser desativados, uma vez
 que permanecem ativos somente enquanto estão respondendo requisições.
 Já Activities e Services podem permanecer em execução por um longo
 período de tempo, daí a necessidade de finalizá-los através dos métodos
 finish() e stopSelf(), respectivamente.
Activities
O componente mais comum de uma aplicação é um Activity. É implementado
como uma subclasse de Activity e uma aplicação pode conter uma ou mais
activities. Cada qual representa uma interface visual e uma delas é marcada
como sendo a inicial que deve ser apresentada quando a aplicação é iniciada.
Mover-se de uma Activity para outra consiste em fazer com que a Activity atual
invoque a próxima.



Cada Activity possui uma janela padrão para
                                                 O visual da janela é composto
desenhar. Normalmente a janela ocupa a tela
                                                 por uma hierarquia de views,
toda mas também pode ser menor e flutuar
                                                 objetos derivados da classe
sobre outras janelas. Uma Activity pode
                                                 base View. As views também
conter janelas adicionais, como por exemplo
                                                 são      responsáveis     por
um dialog que exige uma resposta do usuário
                                                 responder às ações do usuário
ou mostra um aviso quando um dado item é
                                                 direcionadas ao seu espaço.
selecionado.
Activities e Tasks
Conforme dito anteriormente, uma Activity pode iniciar outra, inclusive uma que
pertença a outro aplicativo. Por exemplo: uma aplicação deseja mostrar o mapa
de algum local. Já existe uma Activity que o faz, então tudo o que a sua Activity
precisa fazer é chamar o método startActivity() passando como parâmetro o
objeto da classe Intent com as informações necessárias. O mapa será mostrado e,
quando o usuário pressionar a tecla voltar, sua Activity será mostrada novamente
na tela.



  Para o usuário, isso é transparente. O Android mantém ambas as activities na
  mesma Task. Uma Task, para o usuário, é como se fosse uma aplicação.
  Tecnicamente é um grupo de Activities relacionadas que foram adicionadas
  em uma pilha. A base da pilha é a primeira Activity que é mostrada quando a
  Task é iniciada, enquanto que o topo é a Activity que está sendo executada no
  momento, ou seja, que está recebendo o foco das ações do usuário.
Ciclo de vida de uma Activity
Basicamente, uma Activity possui
         três estados:

         Ativo: quando a Activity está
         no topo da pilha (visível na
         tela e recebendo as ações do
         usuário);

         Pausado: quando a Activity
         perdeu     o    foco     mas
         permanece visível ao usuário.
         Ou seja, há outra Activity no
         topo que é transparente ou
         não ocupa toda a tela;

         Parado: quando a Activity
         está ofuscada por outra.
         Mantém o estado mas pode
         ser eliminada pelo sistema
         em caso de falta de memória.
Ciclo de vida de uma Activity
Services
Diferentemente de activities, os services não possuem interface e executam em
segundo plano por um período de tempo indeterminado. Cada serviço é uma
classe que herda de Service.




 Um exemplo clássico de Service é um tocador
 de músicas. A aplicação deve consistir de uma
 ou mais activities que permitem ao usuário
 selecionar as músicas e começar a tocá-las.
 Contudo, a execução das músicas em si não
 faz parte da Activity mas sim de um Service,
 uma vez que o usuário espera que a música
 continue a ser tocada após sair da tela.
Ciclo de vida de um Service
Broadcast Receivers
Componente que recebe e reage a anúncios de broadcast, geralmente oriundos
do sistema. Cada receiver é uma classe que herda de BroadCastReceiver.



 Mudança no fuso horário, anúncio de bateria
 fraca e mudança da linguagem por parte do
 usuário são exemplos de anúncios que podem
 ser capturados por Broadcast Receivers.

 Uma aplicação pode conter quantos
 receptores quiser. Os receptores podem
 iniciar uma Activity ou utilizar o
 NotificationManager para alertar o usuário
 (acender a luz do aparelho, vibrar, executar
 um som, etc).
Ciclo de vida de Broadcast Receivers


Quando uma mensagem de broadcast chega ao receptor, o Android invoca o
método onReceive(), passando como parâmetro um objeto Intent contendo a
mensagem.




 O Broadcast Receiver fica ativo apenas enquanto está executando esse método.
Content Providers
Componente que torna um conjunto específico de dados da aplicação disponível
para outras aplicações. Cada provider é uma classe que herda de ContentProvider
e disponibiliza um conjunto padrão de métodos para que outras aplicações
possam recuperar e armazenar dados do tipo que o provedor controla.




     As aplicações não podem acessar
     os métodos de um Content
     Provider diretamente. Para isso,
     elas precisam de um objeto
     ContentResolver, o qual pode
     conversar com qualquer Content
     Provider.
obrigado
• e-mail: erisvaldo@yupistudios.com.br
• web: http://erisvaldojunior.com
• twitter: @erisvaldojunior

More Related Content

What's hot

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
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para AndroidJorge Cardoso
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Gustavo Zimmermann
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android Fundação Vanzolini
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3Jose Berardo
 
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
 
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
 
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
 

What's hot (20)

Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Android
AndroidAndroid
Android
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
 
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
 
Android
Android Android
Android
 
Android
AndroidAndroid
Android
 
Android
AndroidAndroid
Android
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Android
AndroidAndroid
Android
 
Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01Desenvolvimento Android: Aula 01
Desenvolvimento Android: Aula 01
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
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
 
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
AndroidAndroid
Android
 
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...
 
Android Aula 3
Android Aula 3Android Aula 3
Android Aula 3
 

Viewers also liked

Desenvolvimento Android: Faça da maneira certa
Desenvolvimento Android: Faça da maneira certaDesenvolvimento Android: Faça da maneira certa
Desenvolvimento Android: Faça da maneira certaNelson Glauber Leal
 
Iniciando no mundo mobile - Programando para android
Iniciando no mundo mobile - Programando para androidIniciando no mundo mobile - Programando para android
Iniciando no mundo mobile - Programando para androidDiemesleno Souza Carvalho
 
SEO para Front-End - BeagaJS
SEO para Front-End - BeagaJSSEO para Front-End - BeagaJS
SEO para Front-End - BeagaJSFabio Ricotta
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de AndroidEdgar Eler
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, ActivityArthur Emanuel
 
Seminário - Video game e suas convergências
Seminário - Video game e suas convergênciasSeminário - Video game e suas convergências
Seminário - Video game e suas convergênciasRafael da Silva
 
Jogos em Python utilizando PyGame
Jogos em Python utilizando PyGameJogos em Python utilizando PyGame
Jogos em Python utilizando PyGameMayron Cachina
 
Aula6 programação
Aula6 programaçãoAula6 programação
Aula6 programaçãoIFPB
 
Matlab e Arduino
Matlab e ArduinoMatlab e Arduino
Matlab e Arduinohsena
 
Esp8266 projeto de fonte e placas de aplicacões
Esp8266 projeto de fonte e placas de aplicacõesEsp8266 projeto de fonte e placas de aplicacões
Esp8266 projeto de fonte e placas de aplicacõesIFPB
 
Minicurso de python - CACC UFPA 2010
Minicurso de python - CACC UFPA 2010Minicurso de python - CACC UFPA 2010
Minicurso de python - CACC UFPA 2010Diego Damasceno
 
PHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosPHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosGeorge Mendonça
 

Viewers also liked (18)

Desenvolvimento Android: Faça da maneira certa
Desenvolvimento Android: Faça da maneira certaDesenvolvimento Android: Faça da maneira certa
Desenvolvimento Android: Faça da maneira certa
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
 
Iniciando no mundo mobile - Programando para android
Iniciando no mundo mobile - Programando para androidIniciando no mundo mobile - Programando para android
Iniciando no mundo mobile - Programando para android
 
SEO para Front-End - BeagaJS
SEO para Front-End - BeagaJSSEO para Front-End - BeagaJS
SEO para Front-End - BeagaJS
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de Android
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, Activity
 
android
androidandroid
android
 
Seminário - Video game e suas convergências
Seminário - Video game e suas convergênciasSeminário - Video game e suas convergências
Seminário - Video game e suas convergências
 
Jogos em Python utilizando PyGame
Jogos em Python utilizando PyGameJogos em Python utilizando PyGame
Jogos em Python utilizando PyGame
 
Aula6 programação
Aula6 programaçãoAula6 programação
Aula6 programação
 
SEO para Front-End
SEO para Front-EndSEO para Front-End
SEO para Front-End
 
Matlab e Arduino
Matlab e ArduinoMatlab e Arduino
Matlab e Arduino
 
Esp8266 projeto de fonte e placas de aplicacões
Esp8266 projeto de fonte e placas de aplicacõesEsp8266 projeto de fonte e placas de aplicacões
Esp8266 projeto de fonte e placas de aplicacões
 
Ctc m1 b_v1_t
Ctc m1 b_v1_tCtc m1 b_v1_t
Ctc m1 b_v1_t
 
Minicurso de python - CACC UFPA 2010
Minicurso de python - CACC UFPA 2010Minicurso de python - CACC UFPA 2010
Minicurso de python - CACC UFPA 2010
 
PHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosPHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e Objetos
 

Similar to Desenvolvimento de Apps e Games para Android - Parte 1

Tudo o que você queria saber sobre Android, mas não foi no Google pesquisar
Tudo o que você queria saber sobre Android, mas não foi no Google pesquisarTudo o que você queria saber sobre Android, mas não foi no Google pesquisar
Tudo o que você queria saber sobre Android, mas não foi no Google pesquisarUEPA
 
Desenvolvendo aplicações móveis
Desenvolvendo aplicações móveisDesenvolvendo aplicações móveis
Desenvolvendo aplicações móveiscedulio
 
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
 
Introdução ao desenvolvimento para android
Introdução ao desenvolvimento para androidIntrodução ao desenvolvimento para android
Introdução ao desenvolvimento para androidHugo Ferreira
 
Android: História, Mercado e Possibilidades (#TDC2011 - Floripa)
Android: História, Mercado e Possibilidades (#TDC2011 - Floripa)Android: História, Mercado e Possibilidades (#TDC2011 - Floripa)
Android: História, Mercado e Possibilidades (#TDC2011 - Floripa)Santhyago Gallao
 
Robson Soares - Android no Javaneiros 2010
Robson Soares - Android no Javaneiros 2010Robson Soares - Android no Javaneiros 2010
Robson Soares - Android no Javaneiros 2010robsonoracle
 
Curso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao AndroidCurso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao AndroidRonildo Oliveira
 
Android como plataforma de consumo de conteúdo, mídias digitais e entretenime...
Android como plataforma de consumo de conteúdo, mídias digitais e entretenime...Android como plataforma de consumo de conteúdo, mídias digitais e entretenime...
Android como plataforma de consumo de conteúdo, mídias digitais e entretenime...Santhyago Gallao
 

Similar to Desenvolvimento de Apps e Games para Android - Parte 1 (20)

Tudo o que você queria saber sobre Android, mas não foi no Google pesquisar
Tudo o que você queria saber sobre Android, mas não foi no Google pesquisarTudo o que você queria saber sobre Android, mas não foi no Google pesquisar
Tudo o que você queria saber sobre Android, mas não foi no Google pesquisar
 
O futuro do Android
O futuro do AndroidO futuro do Android
O futuro do Android
 
Android
AndroidAndroid
Android
 
Desenvolvendo aplicações móveis
Desenvolvendo aplicações móveisDesenvolvendo aplicações móveis
Desenvolvendo aplicações móveis
 
Android
AndroidAndroid
Android
 
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
 
JavaMe no Mercado Mobile
JavaMe no Mercado MobileJavaMe no Mercado Mobile
JavaMe no Mercado Mobile
 
JavaME no Mercado Mobile
JavaME no Mercado MobileJavaME no Mercado Mobile
JavaME no Mercado Mobile
 
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
 
A Era da Mobilidade
A Era da MobilidadeA Era da Mobilidade
A Era da Mobilidade
 
Android
AndroidAndroid
Android
 
Introdução ao desenvolvimento para android
Introdução ao desenvolvimento para androidIntrodução ao desenvolvimento para android
Introdução ao desenvolvimento para android
 
Android: História, Mercado e Possibilidades (#TDC2011 - Floripa)
Android: História, Mercado e Possibilidades (#TDC2011 - Floripa)Android: História, Mercado e Possibilidades (#TDC2011 - Floripa)
Android: História, Mercado e Possibilidades (#TDC2011 - Floripa)
 
Robson Soares - Android no Javaneiros 2010
Robson Soares - Android no Javaneiros 2010Robson Soares - Android no Javaneiros 2010
Robson Soares - Android no Javaneiros 2010
 
TelemóVeis E Sistemas Operativos
TelemóVeis E Sistemas OperativosTelemóVeis E Sistemas Operativos
TelemóVeis E Sistemas Operativos
 
Android
Android Android
Android
 
Android SestInfo 2010
Android SestInfo 2010Android SestInfo 2010
Android SestInfo 2010
 
Sistemas operacionais I - trabalho software movel
Sistemas  operacionais I - trabalho software movelSistemas  operacionais I - trabalho software movel
Sistemas operacionais I - trabalho software movel
 
Curso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao AndroidCurso Android - 01 Introdução ao Android
Curso Android - 01 Introdução ao Android
 
Android como plataforma de consumo de conteúdo, mídias digitais e entretenime...
Android como plataforma de consumo de conteúdo, mídias digitais e entretenime...Android como plataforma de consumo de conteúdo, mídias digitais e entretenime...
Android como plataforma de consumo de conteúdo, mídias digitais e entretenime...
 

More from Erisvaldo Junior

Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Erisvaldo Junior
 
Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1Erisvaldo Junior
 
Desenvolvimento de apps e games para android parte 8
Desenvolvimento de apps e games para android   parte 8Desenvolvimento de apps e games para android   parte 8
Desenvolvimento de apps e games para android parte 8Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2Erisvaldo Junior
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management systemErisvaldo Junior
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementarErisvaldo Junior
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementarErisvaldo Junior
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management systemErisvaldo Junior
 
Java me generic connection framework
Java me   generic connection frameworkJava me   generic connection framework
Java me generic connection frameworkErisvaldo Junior
 
Introdução a api de baixo nível do java me
Introdução a api de baixo nível do java meIntrodução a api de baixo nível do java me
Introdução a api de baixo nível do java meErisvaldo Junior
 
Introdução a game api do java me
Introdução a game api do java meIntrodução a game api do java me
Introdução a game api do java meErisvaldo Junior
 
Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o...
Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o...Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o...
Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o...Erisvaldo Junior
 
Desenvolvendo para iOS em linux
Desenvolvendo para iOS em linuxDesenvolvendo para iOS em linux
Desenvolvendo para iOS em linuxErisvaldo Junior
 

More from Erisvaldo Junior (20)

Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2
 
Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1
 
Desenvolvimento de apps e games para android parte 8
Desenvolvimento de apps e games para android   parte 8Desenvolvimento de apps e games para android   parte 8
Desenvolvimento de apps e games para android parte 8
 
Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5
 
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
 
Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3
 
Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2
 
Nokia SDK for Java
Nokia SDK for JavaNokia SDK for Java
Nokia SDK for Java
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
 
Java me generic connection framework
Java me   generic connection frameworkJava me   generic connection framework
Java me generic connection framework
 
Introdução a api de baixo nível do java me
Introdução a api de baixo nível do java meIntrodução a api de baixo nível do java me
Introdução a api de baixo nível do java me
 
Introdução a game api do java me
Introdução a game api do java meIntrodução a game api do java me
Introdução a game api do java me
 
Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o...
Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o...Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o...
Ginga-J Emulator: uma Ferramenta de Execução de Aplicações Imperativas para o...
 
Desenvolvendo para iOS em linux
Desenvolvendo para iOS em linuxDesenvolvendo para iOS em linux
Desenvolvendo para iOS em linux
 

Desenvolvimento de Apps e Games para Android - Parte 1

  • 1. Desenvolvimento de Apps e Games para Android Por Erisvaldo Júnior. Parte 1 (06/09/2011)
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Roteiro da Aula MERCADO E O ANDROID ARQUITETURA PLATAFORMAS HOJE E AMANHÃ DO ANDROID Bem vindo ao mundo da mobilidade
  • 10. O Mercado Mobile Mercado brasileiro de telefonia móvel; Organize with Sections Números do mercado internacional; Mercado de jogos (Brasil e mundo).
  • 11. Celulares no Brasil (2007 a 2009)
  • 12. Market Share das operadoras no Brasil (2007 a 2009)
  • 13. Mercado brasileiro de celulares (2010) 202 milhões e 944 mil celulares Crescimento de 16,7%; 104,7 celulares a cada 100 habitantes. Operadoras Vivo - 29,7% Claro - 25,4% TIM – 25,1% Oi – 19,4%
  • 14. Celulares no mundo (2000 a 2009)
  • 15. Principais mercados de celular no mundo (2008 e 2009)
  • 16. Operadoras de telefonia no mundo (2008 e 2009)
  • 17. Market Share dos fabricantes (2005 a 2007)
  • 18. Market Share dos fabricantes (2009 e 2010)
  • 19. Mercado americano de jogos para dispositivos móveis
  • 20. Mercado mundial de jogos para dispositivos móveis Gartner
  • 21. SOs para Desenvolvimento (no Presente) iOS Android RIM SYMBIAN PALM OS Windows Mobile MAEMO
  • 22. Android (Open Handset Alliance, liderada pelo Google) Plataforma aberta baseada em Linux; Android Development Tools (ADT) Plugin para Eclipse; Desenvolvimento em Java (Linux / Windows / Mac OS); 1º smartphone: HTC G1 (2008); 1º tablet: Samsung Galaxy Tab (2010).
  • 23. iOS (Apple) iPod, iPhone (2007) e iPad (2010); Baseado no Mac OS X (Objective-C); Kit de desenvolvimento exclusivo para Mac OS; Aplicativos exclusivamente na Apple App Store.
  • 24. Plataformas para Desenvolvimento (no Presente) JavaME Qt Flash Lite PyS60 BREW
  • 25. JavaME Quase 2 bilhões de aparelhos; Grande comunidade de desenvolvedores; Atingiu 95% dos aparelhos em 2007.
  • 26. Comparativo entre JavaME e Flash Lite
  • 28. SOs para Desenvolvimento (Apostas para o Futuro) Windows Windows Phone 7 8 BADA MeeGo
  • 32. Android já lidera mercado mundial de smartphones No primeiro trimestre de 2011, 35% dos smartphones vendidos eram Android, contra 19% do iOS, da Apple http://www.geektech.com.br/?p=116
  • 33. Lojas de Aplicativos para Dispositivos Móveis (App Stores) Modelo Antigo (antes das App Stores) Desenvolvedor / Publisher / Grande Empresa Operadoras Pequena Empresa A porcentagem final para o desenvolvedor independente ou pequena empresa acabava sendo menor que 20% do total.
  • 34. Lojas de Aplicativos para Dispositivos Móveis (App Stores) Novo Modelo (era das App Stores) Desenvolvedor / Loja de aplicativos do Empresa Fabricante ou Operadora A porcentagem final para o desenvolvedor independente ou empresa agora gira em torno de 70% do total.
  • 35. Apple App Store Loja de aplicativos para iOS (iPod, iPhone e iPad) gerenciada pela Apple e disponível através dos próprios aparelhos. Lançada em julho de 2008; 340 mil aplicativos e 10 bilhões de downloads até janeiro de 2011; Disponível em cerca de 90 países; Share de 70% Desenvolvedor e 30% Apple; Desenvolvedor paga inscrição e anuidade no valor de U$ 99,00.
  • 36. Google Android Market Loja de aplicativos para Android gerenciada pela Google e disponível através dos próprios aparelhos. Lançado em outubro de 2008; Mais de 200 mil aplicativos e 3 bilhões de downloads até janeiro de 2011; Disponível em cerca de 48 países; Share de 70% Desenvolvedor e 30% Google; Desenvolvedor paga taxa única de inscrição no valor de U$ 25,00.
  • 37. Comparativo Android Market X Apple App Store Dados referentes ao ano de 2009, quando a distância entre Android Market e a Apple App Store ainda era muito grande.
  • 38. Comparativo Android Market x Apple App Store A média de downloads da Apple App Store é superior a do Android Market, bem como a porcentagem de usuários que compram aplicações (dados de 2009).
  • 39. Nokia Ovi Store Loja de aplicativos para dispositivos Nokia (Symbian, QT, Flash Lite e JavaME) e disponível através dos próprios aparelhos. Lançada em maio de 2009; 50 mil aplicativos e média de 3 milhões de downloads por dia (janeiro de 2011); Disponível em mais de 200 países; Share de 70% Desenvolvedor e 30% Nokia; Desenvolvedor paga taxa única de inscrição de apenas 1 (um) euro.
  • 40. Comparação entre App Stores (custo para desenvolvedores)
  • 41. Relação de App Stores (distimo.com)
  • 42. Amazon App Store (março / 2011)
  • 43. Mercado de Apps: In-App Billing é uma tendência Jogos e aplicativos são gratuitos à priori, embora vários recursos possam ser comprados dentro do próprio app.
  • 44. Android Market oferece serviço de In-App Billing Pode-se vender conteúdo digital dentro do aplicativo, como itens ou fases de jogos e funcionalidades extras para aplicativos. O share é de 70% para o desenvolvedor e 30% para a Google em cima do valor da venda.
  • 45. Google App Inventor for Android Criação de aplicações para Android visualmente, sem a necessidade de escrever código.
  • 46. Google App Inventor for Android Orientado a blocos, basta definir as suas propriedades visuais e as suas ações para determinados eventos.
  • 47. Google App Inventor for Android
  • 48. O ANDROID HOJE E AMANHÃ
  • 49. Definição do Android Pilha de Software para Dispositivos Móveis que inclui um Sistema Operacional, um Middleware e aplicações-chave. O Android SDK provê ferramentas e APIs para o desenvolvimento de aplicações na plataforma Android usando a linguagem de programação Java.
  • 50. Recursos do Android • Biblioteca Gráfica 2D e Suporte a 3D (OpenGL ES); • SQLite; • Mídias diversas (MPEG-4, H.264, MP3, AAC, AMR, JPG, PNG, GIF); • Bluetooth, EDGE, 3G e WiFi (dependente do hardware); • Câmera, GPS, Bússola e Acelerômetro (dependente do hardware); • Desenvolvimento: Android Development Tools (ADT) para Eclipse.
  • 52. Componentes de Aplicações Activity Service Content Broadcast Provider Receiver
  • 53. História do Android – 2005 a 2007 Julho de 2005: Google comprou a startup Android; Novembro de 2007: Google anunciou a Open Handset Alliance (OHA) e o Android; Ainda nesse mês, liberou a primeira versão do Android SDK.
  • 54. História do Android - 2008 Outubro de 2008: Android se torna Open Source; Ainda nesse mês, lançado o primeiro smartphone com Android: o HTC G1; Lançado o primeiro Android Developer Phone (ADP), baseado no G1.
  • 55. História do Android - 2009 Julho de 2009: HTC Hero, concorrente direto do iPhone; Novembro de 2009: Motorola Droid, 1 milhão de unidades em pouco mais de dois meses; Chegou no Brasil como Motorola Milestone e foi sucesso de vendas.
  • 56. História do Android - 2010 Em 2010, dezenas de ótimos smartphones Android foram lançados; Setembro de 2010: Samsung Galaxy Tab, primeiro tablet a concorrer com o iPad; Dezembro de 2010: Quarto ADP lançado, o Samsung Nexus S.
  • 57. História do Android - 2011 Lançamento dos primeiros tablets com o Android 3 (Honeycomb); Gingerbread parece ser o fim da linha para smartphones Android 2.x; Anúncio do Android Market para Google TV (Android 3.1); Possível lançamento do Ice Cream Sandwich (Android 4) + quinto ADP, o Nexus Prime.
  • 58. Versões do Android AndroidManifest.xml
  • 59. Android 1.1 (fevereiro de 2009) • Aplicativos e funcionalidades básicas Android 1.5 Cupcake (maio de 2009) • Interface remodelada • Gravação de vídeos • Conexão Bluetooth Automática • Upload de vídeos para YouTube e Picasa • Copiar e Colar Android 1.6 Donut (setembro de 2009) • Novo Android Market • Integração de câmera e galeria • Busca por gestos e voz
  • 60. Android 2.0/2.1 Eclair (outubro de 2009) • Suporte avançado para múltiplas resoluções e telas • Suporte ao Exchange • Live wallpapers Android 2.2 Froyo (maio de 2010) • Flash 10 • Desempenho bastante otimizado (até 5x) • Hotspot para até 8 aparelhos • Salvar aplicativos no cartão de memória • Discagem por bluetooth Android 2.3 Gingerbread (dezembro de 2010) • Suporte a NFC • Teclado multitouch • Suporte a SIP • Gerenciador de Downloads • Suporte a câmera frontal e vídeo-conferência
  • 61. Pacote android.nfc NFC (Near Field Communication) Permite a comunicação entre dispositivos (iniciador e alvo) com distância de centímetros. O alvo é uma tag RFID ou peer-to-peer. Pagamento pelo celular Troca de informações Chaves Ingressos para shows
  • 62. SIP (Session Initiation Protocol) Pacote android.net.sip Android provê uma API que permite a realização de chamadas através do protocolo SIP. Pode ser usado para videochamadas ou mensageiros instantâneos.
  • 63. Novos recursos para o Usuário Novidades do Android 3 Sistema remodelado e otimizado para os tablets • System Bar • Action Bar • 5 Homes Customizáveis • Aplicações recentes
  • 64. Novos recursos para o Usuário Novidades do Android 3 • Novo Teclado • Manipulação de Textos • Mais conectividade • Aplicações-chave melhores
  • 65. Novos recursos para o Usuário Novidades do Android 3 Aplicações-chave foram aperfeiçoadas
  • 66. Novos recursos para o Desenvolvedor Novidades do Android 3 Novo framework de UI, refinado para tablets • Fragmentos • Widgets remodelados • Action Bar customizável • Notificações mais ricas • Seleção múltipla, clipboard e recurso de drag-and-drop
  • 67. Novidades do Android 3 Novos recursos para o Desenvolvedor • Novo e flexível Framework de animação • Aceleração gráfica 2D por hardware • Renderscript (engine 3D) • Suporte a múltiplos processadores • HTTP Live streaming (M3U) • Framework de DRM • Transferência de arquivos de mídia (MTP/PTP) • Mais opções de conectividade • Segurança para ambientes corporativos • Compatibilidade com aplicações existentes
  • 68. Novo Android Market Google Movies, Books e Music Google, como já fazia a Apple, passa a oferecer não só Apps, como também livros, músicas e aluguel de filmes.
  • 69. Cartões de Crédito, Cupons, Documentos e até Google Wallet (Android 2.3+) chaves no seu smartphone
  • 70. Principais recursos Google Wallet (Android 2.3+) Pagamentos Compras Segurança Coletivas
  • 71. A revolução do pagamento móvel Google Wallet (Android 2.3+) Observe o símbolo para checkout Toque o smartphone no leitor
  • 72. Outro patamar para compras coletivas Google Wallet (Android 2.3+) Todos os cupons agora cabem no seu bolso
  • 73. Segurança elevada Google Wallet (Android 2.3+) Código PIN protege a sua carteira digital
  • 74. Google Wallet (Android 2.3+) Onde e como usar hoje?
  • 76. Google TV terá Android Market ainda em 2011 Desenvolvedores poderão distribuir seus aplicativos para serem executados na Google TV, que terá Android Market embutido. Google TV (Android 3.1) Google TV Google TV Remote (iOS / Android)
  • 77. Não tem touch, mas tem teclado. Google TV (Android 3.1) App “Google TV Only” Caso se declare a tag abaixo, o App NÃO aparecerá no Google TV Market.
  • 78. E a Yupi? Um pé no presente e outro no futuro.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 85. ARQUITETURA DO ANDROID
  • 87. Arquitetura do Android Applications Conjunto de aplicações-chave nativas do Android, incluindo um cliente de e-mail, gerenciador de SMS, calendário, mapa, navegador, gerenciador de contatos e outros. Todas essas aplicações foram escritas em Java. Application Framework Desenvolvedores tem acesso completo às mesmas APIs que as aplicações-chave. O framework provê um conjunto de Views que podem ser utilizados para construir a interface da aplicação, incluindo listas, tabelas, caixas de texto, botões e até mesmo um browser embutido. Disponibiliza também Content Providers que permitem o acesso a dados de outras aplicações (como o gerenciador de Contatos). Há, ainda, o Resource Manager (provê acesso a recursos como imagens e arquivos de layout), o Notification Manager (permite que a aplicação mostre avisos personalizados) e o Activity Manager (gerencia o ciclo de vida da aplicação e a sua navegação).
  • 88. Arquitetura do Android Libraries Conjunto de bibliotecas C/C++ utilizadas por vários componentes do Android. Essas bibliotecas provêem recursos que são expostos aos desenvolvedores através de sua camada sobrejacente: Application Framework. Android Runtime Cada aplicação no Android roda em um processo diferente no Linux e para cada processo é criada uma instância da máquina virtual Dalvik. Essa máquina virtual foi criada de forma que um dispositivo possa executar múltiplas instâncias de forma eficiente. As classes compiladas da aplicação são transformadas para o formato .dex (Dalvik Executable), otimizado para uma mínima utilização de memória. A Dalvik VM interage diretamente com o kernel Linux para execução de funcionalidades subjacentes como tratamento de concorrência e gerenciamento de memória.
  • 89. Noções sobre aplicações Android As aplicações são escritas em Java e o seu código compilado, juntamente com os recursos que a aplicação utilizada, são empacotados em um arquivo .apk pela ferramenta aapt. É esse arquivo .apk que é usado para distribuir a aplicação e instalá-la nos dispositivos Android; Por padrão, cada aplicação é executada como um processo separado, com ID único e máquina virtual própria, isolando o seu código das demais aplicações.
  • 90. Componentes da Aplicação Um recurso fundamental do Android é o reuso de componentes. Caso uma aplicação precise disponibilizar uma lista de imagens com scrolling e outra aplicação apresenta tal componente e o disponibilizou para as demais, pode- se invocar esse componente. Devido a essa organização dos aplicativos em componentes, as aplicações Android não possuem um único ponto de entrada (não há um método main(), por exemplo). Ao invés disso, as aplicações apresentam componentes essenciais que o sistema pode instanciar e executar quando necessário. Esses componentes podem ser de quatro tipos: Activities (apresenta uma interface visual para o usuário) Services (roda em segundo plano por um período de tempo indeterminado) Broadcast Receivers (recebe e reage a eventos do sistema) Content providers (dados do aplicativo disponíveis para os demais)
  • 91. Ativando e desativando componentes Content Providers são ativados por meio de uma requisição de um ContentResolver. Os demais componentes (Activities, Services e Broadcast Receivers) são ativados por mensagens assíncronas denominadas intents. Trata- se de um objeto da classe Intent que armazena o conteúdo da mensagem. Para activities e services, o objeto apresenta o nome da ação que está sendo requisitada bem como o endereço do dado em que atuará, além de outras coisas. No caso de uma Activity, por exemplo, pode conter uma requisição para apresentar uma imagem ao usuário ou permitir que o usuário edite algum texto. Já para Broadcast Receivers, o objeto Intent pode anunciar que um botão da câmera foi pressionado, por exemplo. Content Provider e BroadCast Receiver não precisam ser desativados, uma vez que permanecem ativos somente enquanto estão respondendo requisições. Já Activities e Services podem permanecer em execução por um longo período de tempo, daí a necessidade de finalizá-los através dos métodos finish() e stopSelf(), respectivamente.
  • 92. Activities O componente mais comum de uma aplicação é um Activity. É implementado como uma subclasse de Activity e uma aplicação pode conter uma ou mais activities. Cada qual representa uma interface visual e uma delas é marcada como sendo a inicial que deve ser apresentada quando a aplicação é iniciada. Mover-se de uma Activity para outra consiste em fazer com que a Activity atual invoque a próxima. Cada Activity possui uma janela padrão para O visual da janela é composto desenhar. Normalmente a janela ocupa a tela por uma hierarquia de views, toda mas também pode ser menor e flutuar objetos derivados da classe sobre outras janelas. Uma Activity pode base View. As views também conter janelas adicionais, como por exemplo são responsáveis por um dialog que exige uma resposta do usuário responder às ações do usuário ou mostra um aviso quando um dado item é direcionadas ao seu espaço. selecionado.
  • 93. Activities e Tasks Conforme dito anteriormente, uma Activity pode iniciar outra, inclusive uma que pertença a outro aplicativo. Por exemplo: uma aplicação deseja mostrar o mapa de algum local. Já existe uma Activity que o faz, então tudo o que a sua Activity precisa fazer é chamar o método startActivity() passando como parâmetro o objeto da classe Intent com as informações necessárias. O mapa será mostrado e, quando o usuário pressionar a tecla voltar, sua Activity será mostrada novamente na tela. Para o usuário, isso é transparente. O Android mantém ambas as activities na mesma Task. Uma Task, para o usuário, é como se fosse uma aplicação. Tecnicamente é um grupo de Activities relacionadas que foram adicionadas em uma pilha. A base da pilha é a primeira Activity que é mostrada quando a Task é iniciada, enquanto que o topo é a Activity que está sendo executada no momento, ou seja, que está recebendo o foco das ações do usuário.
  • 94. Ciclo de vida de uma Activity Basicamente, uma Activity possui três estados: Ativo: quando a Activity está no topo da pilha (visível na tela e recebendo as ações do usuário); Pausado: quando a Activity perdeu o foco mas permanece visível ao usuário. Ou seja, há outra Activity no topo que é transparente ou não ocupa toda a tela; Parado: quando a Activity está ofuscada por outra. Mantém o estado mas pode ser eliminada pelo sistema em caso de falta de memória.
  • 95. Ciclo de vida de uma Activity
  • 96. Services Diferentemente de activities, os services não possuem interface e executam em segundo plano por um período de tempo indeterminado. Cada serviço é uma classe que herda de Service. Um exemplo clássico de Service é um tocador de músicas. A aplicação deve consistir de uma ou mais activities que permitem ao usuário selecionar as músicas e começar a tocá-las. Contudo, a execução das músicas em si não faz parte da Activity mas sim de um Service, uma vez que o usuário espera que a música continue a ser tocada após sair da tela.
  • 97. Ciclo de vida de um Service
  • 98. Broadcast Receivers Componente que recebe e reage a anúncios de broadcast, geralmente oriundos do sistema. Cada receiver é uma classe que herda de BroadCastReceiver. Mudança no fuso horário, anúncio de bateria fraca e mudança da linguagem por parte do usuário são exemplos de anúncios que podem ser capturados por Broadcast Receivers. Uma aplicação pode conter quantos receptores quiser. Os receptores podem iniciar uma Activity ou utilizar o NotificationManager para alertar o usuário (acender a luz do aparelho, vibrar, executar um som, etc).
  • 99. Ciclo de vida de Broadcast Receivers Quando uma mensagem de broadcast chega ao receptor, o Android invoca o método onReceive(), passando como parâmetro um objeto Intent contendo a mensagem. O Broadcast Receiver fica ativo apenas enquanto está executando esse método.
  • 100. Content Providers Componente que torna um conjunto específico de dados da aplicação disponível para outras aplicações. Cada provider é uma classe que herda de ContentProvider e disponibiliza um conjunto padrão de métodos para que outras aplicações possam recuperar e armazenar dados do tipo que o provedor controla. As aplicações não podem acessar os métodos de um Content Provider diretamente. Para isso, elas precisam de um objeto ContentResolver, o qual pode conversar com qualquer Content Provider.
  • 101. obrigado • e-mail: erisvaldo@yupistudios.com.br • web: http://erisvaldojunior.com • twitter: @erisvaldojunior