SlideShare une entreprise Scribd logo
1  sur  121
Télécharger pour lire hors ligne
Computação Móvel:
Perspectivas, Oportunidades e
      Desenvolvimento
José Alexandre Macedo
                         jamacedo.com
      Mestrando                          Bacharel em
  Computação Móvel                        Ciência da
Sistemas Colaborativos                   Computação




                                           Desenvolvedor
                                          Java desde 2007



    Articulista                          Mantenedor do
                                        grupo de estudos
                                            Android
O que é
 essa tal de
computação
   móvel?
São sistemas cujas
capacidades podem
   ser utilizadas
  enquanto estão
  sendo movidos!
Tem gente
que ainda não
   entendeu
 muito bem...
Computação móvel se
popularizou porque temos
    tecnologias com
 + recursos
              usabilidade
+ fácil desenvolver
         preço acessível
Maior conectividade




Limites entre situações e espaços físicos ficam
                   difusos...
Dados em qualquer lugar e a
        qualquer momento




           Mudança
                de
           cultura...
Números desse mercado
Números desse mercado



Mercado Mobile é extremamente
           mutável!
Números desse mercado
Números desse mercado
Números desse mercado
Números desse mercado

                                                                + 850.000
                                                                       ativações
                                                                        diárias
   + 300 milhões
      de dispositivos!



Fonte: http://googlemobile.blogspot.com.br/2012/02/androidmobile-world-congress-its-all.html
Números desse mercado
 Quais são os
  planos dos
desenvolvedores
  para 2012?
E no Brasil?

  Vendas de smartphones crescem
         179% em 2011




Fonte: http://g1.globo.com/tecnologia/noticia/2012/03/vendas-de-smartphones-no-brasil-crescem-179-em-2011-diz-pesquisa.html
E no Brasil?




                                        Android alcançou 61% do mercado

Fonte: http://g1.globo.com/tecnologia/noticia/2012/03/vendas-de-smartphones-no-brasil-crescem-179-em-2011-diz-pesquisa.html
Oportunidades
Outras áreas quentes...
Novas Possibilidades!


         Brasileiros
      criam app que
           pode
      revolucionar a
      vida de surdos


Fonte: http://exame.abril.com.br/tecnologia/noticias/brasileiros-criam-app-que-pode-revolucionar-a-vida-de-surdos
Não é porque os
  dispositivos são
  pequenos que os
projetos são simples!
E o trampo?
Vamos aproveitar essa
       onda!
Agora, para nossa alegria...
Desenvolvimento
    Android
Sem preconceito com os
  concorrentes, mas...
...Android tem suas
         vantagens!

Dispositivos para todos os bolsos
...Android tem suas
     vantagens!
...Android tem suas
      vantagens!

Desenvolvimento em Java
...Android tem suas
          vantagens!

Programação em Windows, Linux e Mac
Android vai além dos
smartphones e tablets...




                Epson lança
                óculos com
                  Android
Android vai além dos
    smartphones e tablets...




    Se você
desenvolve para
 Android pode
desenvolver para
   Google TV
Android vai além dos
smartphones e tablets...

     Sony SmartWatch
o relógio Android da Sony
Android vai além dos
smartphones e tablets...




 Google quer Android nos
    eletrodomésticos
Sim...




A Google quer dominar o
        mundo!
Breve histórico
Breve histórico
                         Outubro de 2003



    Android, Inc. foi fundada
   em Palo Alto, California por
    Andy Rubin, Rich Miner,
    Nick Sears e Chris White
Breve histórico
Google adquire Android Inc.
                              Julho de 2005
Breve histórico
A Open Handset Alliance é formada


                          5 de Novembro de 2007
Breve histórico

     Android Beta SDK é
       disponibilizado


                12 de Novembro de 2007
Breve histórico

      Lançado o primeiro
       smatphone com
      Android 1.0, o HTC
         Dream (G1)


                23 de Setembro de 2008
Breve histórico

    Aí começou a perdição!
Arquitetura
Arquitetura
Processo de
  desenvolvimento Java
       tradicional

        Compilação            Interpretação




.java                .class                   JVM
Processo de
  desenvolvimento Android

         Compilação                    Compilação
                                          dex



.java                  .class                       .dex
                                apkbuilder




                  Interpretação              Dalvik
                                             Virtual
                                             Machine
        .apk
Componentes de
   Aplicação
Componentes de Aplicação



 Activity
   Responsável por definir a
interface e os comportamentos
    de uma tela da aplicação
Componentes de Aplicação



  Service
 São os processos de fundo sem
   interface com usuário. Podem
        ser locais ou remotos
Componentes de Aplicação


   Content
   Provider
Forma de expor os dados da aplicação
 sem expor suas implementações
Componentes de Aplicação



      Intents
Permite criar propósitos. Ex.: abrir uma
 activity, iniciar um serviço, exibir uma
   página web ou fazer uma ligação
Interface com Usuário

Declaradas em arquivos XML

     Views são os blocos de
          construção básicos


A combinação de views forma um
group view
Ciclo de Vida
Ferramentas necessárias




Android Developer Tools (ADT)
        Plugin Eclipse          SDK
Ferramentas necessárias




       Android Virtual Devices
Debug com Logcat




  O melhor amigo do
desenvolvedor Android!
#partiuEclipse
Criando um novo projeto
Criando um novo projeto
Criando um novo projeto
Dissecando
a aplicação
  gerada
Estrutura
 Básica
   dos
 Projeto
Activities,
Services, Content
Providers e outras
   classes Java
Fornece referências
  para os recursos
     disponíveis no
         projeto




Gerada e mantida automaticamente
          NÃO MEXA!
Armazena
arquivos brutos

   Permite
 subdiretórios

 Não gera ids
Um recurso é um
arquivo ou valor
 utilizado pela
   aplicação
A pasta drawable-*
armazena imagens
A values contém
valores que podem
  ser usados em
   vários locais.

  Outros arquivos
  válidos são para
   arrays, colors,
dimensions e styles
A layout contém os
arquivos de interface
     com usuário
Define os conteúdos
e comportamentos
   das aplicações
Antes de executar o
projetos precisamos
  de um virtual
  device (AVD)
Localizem e cliquem no ícone do ADV Manager
Em seguida cliquem em “New...”
Para criarmos um novo emulador
Configuremos o
  nosso novo
   emulador
Agora é só apertar o play!
Criando nosso 1º aplicativo


        Comparador
            de
          Preços
Qual produto
                  compensa
                     mais?



600ml        360ml
R$ 4,75      R$ 3,20
Estrutura do Projeto
       main.xml                          resultado.xml

1ª Opção
                                       A Xª opção está
R$              mL                     compensando mais
                                       porque está Y%         ComparadorPrecosApp.java
            X                          mais barata!
2ª Opção

R$           mL                                                      string.xml



        Comparar
                                                                AndroidManifest.xml
                          Transição
                         com Intents
                                                                       Criar
                                                                       Modificar
     MainActivity.java                  ResultActivity.java
1º Passo
Modificar main.xml
2º Passo
Criar resultado.xml
3º Passo
Criar ComparadorPrecosApp.java
4º Passo
Modificar MainActivity.java
4º Passo
Modificar MainActivity.java
    Método compararPrecos()
5º Passo
Criar ResultActivity.java
4º Passo
Modificar AndroidManifest.xml
Resultado Final
Desenvolvendo mais!
 Criando nosso 2º aplicativo


Leitor de
Tweets
Estrutura da 1ª Parte
                                      lista_tweets.xml
     main.xml                                                     Criar
                                      Últimos Tweets              Modificar
Digite um termo de busca:
                                         ‘termoBusca’

                                   Mensagem 1
 Buscar Tweets                     Mensagem 2
                                                                 string.xml
                                   Mensagem 3


                                                            AndroidManifest.xml

LeitorTweetsActivity.java             TweetsActivity.java


                                                            LeitorTweetsApp.java

                 Tweet.java   TweetConnection.java
Criando um novo projeto
Criando um novo projeto
Criando um novo projeto
Antes do passo-a-passo...
 Vamos baixar as classes
Tweet e TweetConnection


                       Tweet.java   TweetConnection.java




bit.ly/leitortwitter
1º Passo
Modificar main.xml
2º Passo
Criar lista_tweets.xml

               LinearLayout
                 (Vertical)




                 ListView
3º Passo
Criar LeitorTweetsApp.java
4º Passo
Modificar LeitorTweetsActivity.java
5º Passo
Criar TweetsActivity.java
6º Passo
Modificar AndroidManifest.xml
Resultado Final
Evoluindo o
 Leitor de
  Tweets!

               Aprendendo a criar
               listas com itens
               personalizados e
              conhecendo o poder
                  dos intents
Estrutura da 2ª Parte
     item_lista.xml

  Foto   Mensagem 1
                      Data




                             Compartilhar
    TweetAdapter.java        a mensagem
                             ao tocar nela


                                        Criar
    TweetsActivity.java                 Modificar
1º Passo
Criar item_lista.xml



 ImageView   LinearLayout
               (Vertical)
2º Passo
Criar TweetAdapter.java




                  continua...
2º Passo
Criar TweetAdapter.java
3º Passo
Modificar TweetsActivity.java
3º Passo
Modificar TweetsActivity.java
Resultado Final
Acabei meu aplicativo...




Como publicar no
Google Market
   Play?
Publicando no Google Play

1º Registro no Google Play $25

2º   Assinar o aplicativo com uma
          chave privada

3º   Realizar upload do apk e de
      imagens do aplicativo
Android é só alegria?




Fonte: http://developer.android.com/resources/dashboard/platform-versions.html
Android é só alegria?
                                                   Não!




         Fragmentação é o maior problema
Fonte: http://developer.android.com/resources/dashboard/platform-versions.html
Quero mais!

  Como
    Faço?
Android
                                    Training
                           Vídeos
Guias                               Blog
            Documentação

Exemplos
 Código        Tutoriais    Passagem
           Artigos         obrigatória!
Grupos de Discussão
   http://groups.google.com/   http://groups.google.com/
   group/android-developers      group/android-discuss



   http://groups.google.com/   http://stackoverflow.com/
       group/android-ndk       questions/tagged/android
Livros
Dúvidas?
Obrigado!


 jamacedo.com

 @jamacedo

Contenu connexe

Tendances

Tendances (8)

Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Android Aula 3
Android Aula 3Android Aula 3
Android Aula 3
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Android Aula 1
Android Aula 1Android Aula 1
Android Aula 1
 
Oficina Sesc Android - V1
Oficina Sesc Android - V1Oficina Sesc Android - V1
Oficina Sesc Android - V1
 
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
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 

Similaire à Computação Móvel: Perspectivas, Oportunidades e Desenvolvimento

Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidJosé Alexandre Macedo
 
Android Palestra
Android PalestraAndroid Palestra
Android PalestraRenato
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, ActivityArthur Emanuel
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaMessias Batista
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rqKMILT
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileWaldyr Felix
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao androidPaulo Remoli
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaJose Augusto Cintra
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma AndroidÉdipo Souza
 
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
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao androidMessias Batista
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...Adriel Café
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidMessias Batista
 

Similaire à Computação Móvel: Perspectivas, Oportunidades e Desenvolvimento (20)

Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma Android
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Android
AndroidAndroid
Android
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, Activity
 
O futuro do Android
O futuro do AndroidO futuro do Android
O futuro do Android
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento Mobile
 
Phonegap
PhonegapPhonegap
Phonegap
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis Multiplataforma
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
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
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Android
AndroidAndroid
Android
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
 

Plus de José Alexandre Macedo

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Conquistando uma carreira de sucesso com software livre
Conquistando uma carreira de sucesso com software livreConquistando uma carreira de sucesso com software livre
Conquistando uma carreira de sucesso com software livreJosé Alexandre Macedo
 
Você está preparado para a era da mobilidade?
Você está preparado para a era da mobilidade?Você está preparado para a era da mobilidade?
Você está preparado para a era da mobilidade?José Alexandre Macedo
 
Graph database - Soluções na literatura e implementações disponíveis
Graph database - Soluções na literatura e implementações disponíveisGraph database - Soluções na literatura e implementações disponíveis
Graph database - Soluções na literatura e implementações disponíveisJosé Alexandre Macedo
 
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...José Alexandre Macedo
 

Plus de José Alexandre Macedo (6)

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Conquistando uma carreira de sucesso com software livre
Conquistando uma carreira de sucesso com software livreConquistando uma carreira de sucesso com software livre
Conquistando uma carreira de sucesso com software livre
 
Você está preparado para a era da mobilidade?
Você está preparado para a era da mobilidade?Você está preparado para a era da mobilidade?
Você está preparado para a era da mobilidade?
 
Graph database - Soluções na literatura e implementações disponíveis
Graph database - Soluções na literatura e implementações disponíveisGraph database - Soluções na literatura e implementações disponíveis
Graph database - Soluções na literatura e implementações disponíveis
 
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...
 
jQuery na Prática!
jQuery na Prática!jQuery na Prática!
jQuery na Prática!
 

Computação Móvel: Perspectivas, Oportunidades e Desenvolvimento