SlideShare uma empresa Scribd logo
UNIVERSIDADE FEDERAL DE VIÇOSA
       CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS
            DEPARTAMENTO DE INFORMÁTICA




Introdução à programação para
           Android

    Giorgio Prímola Ferreira Guimarães Torres
               giorgio.torres@ufv.br



                  Viçosa, Agosto/2011
Introdução




torres.giorgio@gmail.com
Introdução
       • Por quê programar para Android?
              • Sistema Operacional móvel que mais cresce no mundo
              • Simplicidade
              • Facilidade de aprendizado
              • Dispositivos com alto poder de processamento
              • Aumento no uso de dispositivos móveis inteligentes
                  (Smartphones, tablets, etc...)
              • Recursos interessantes: WiFi, GPS, Acelerômetro, etc...




torres.giorgio@gmail.com
Introdução
       • Android em números
              • Tablets
                   Vendas      2T10   3T10   4T10    ∆Tri     Market
                   Milhões                                    Share
                   Apple iOS   3,3    4,2    7,3     73,8%    75,3%
                   Android     0,1    0,1    2,1    2000,0%   21,6%
                   Outros      0,1    0,1    0,3    200,0%     3,1%
                   Total       3,5    4,4    9,7    120,5%    100%

                                                      *Mercado Mundial




torres.giorgio@gmail.com
Introdução
              • Smartphones
            Milhões           2009      2010 Market Share        Crescimento
                                                                        2010
            Android            12,0      69,6          23,4%          479,0%
            Symbian            80,0     109,9          36,9%           37,4%
            iPhone iOS         20,3      46,8          15,7%          130,0%
            RIM                34,5      47,5          16,0%           37,5%
            MS Windows         14,7      12,2           4,1%           (7,5%)
            Mobile
            Linux               6,4       5,2           1,7%          (18,3%)
            Outros              3,4       5,7           1,9%           70,0%
            Total             172,3     296,9           100%           72,3%

                                      * Vendas Mundiais para usuários finais
torres.giorgio@gmail.com
Introdução




torres.giorgio@gmail.com
Ambiente de Programação
       • JDK + Eclipse (Galileo+) + ADT plugin + Android
       SDK (ADT) + API Android

       • Instalação...




torres.giorgio@gmail.com
Ambiente de Programação
       • Configuração do ambiente
              • Baixar pacotes de API
              • Criar AVD (Android Virtual Device) com API baixada
              • Instalar ADT plugin no Eclipse
                     Fonte: Repositório ou Arquivo
              • Linkar o ADT com o Eclipse
                     Windows > Preferences > Android > Browse... (Local do SDK)




torres.giorgio@gmail.com
Introdução à Arquitetura do Sistema




torres.giorgio@gmail.com
Arquitetura




torres.giorgio@gmail.com
Activity
       • Responsável por uma “janela” na qual o
       conteúdo é definido pelo seu layout ou alguma
       View

       • Pode ganhar o foco da tela

       • Interage com o usuário


torres.giorgio@gmail.com
Activity
       • Ciclo de vida
              • onCreate();
              • onStart();
              • onResume();
              • onPause();
              • onStop();
              • onDestroy();

       • Para mais informações:
       http://developer.android.com/reference/android/app/Activity.html

torres.giorgio@gmail.com
Service
       • Oferece funcionalidades para outras
       aplicações;
       • Pode ser uma aplicação que ficará ativa por
       muito tempo, rodando em background.
       • Exemplos: Audio, Sensor, WiFi, Layout Inflater...
       • Importante: Alguns serviços precisam de
       permissão para serem usados. Ex.: WiFi
       • Mais informações:
        http://developer.android.com/reference/android/app/Service.html
torres.giorgio@gmail.com
Começando




torres.giorgio@gmail.com
Começando
       • Criando um projeto Android
              • New > Other > Android Project ...
              • Nome do Projeto: HelloWorldAndroid
              • Build Target: Android 2.1
                     • Especifica a plataforma a partir da qual o aplicativo será
                       distribuído
              • Application Name: Hello Android
                     • Especifica o nome do aplicativo. Aparecerá junto ao
                       ícone no menu de aplicativos do dispositivo


torres.giorgio@gmail.com
Começando
              • Package Name: com.exemplo.main
                     • Especifica o nome do pacote onde a Activity principal será
                       criada. Deve ser um namespace Java.
              • Create Activity: HelloAndroidWorld
                     • Nome da Activity principal
              • Min SDK Version: 7
                     • Especifica o nível mínimo da API requerida para a
                       aplicação. Deve ser um número inteiro entre 1 e 13 (API
                       Android 3.2) – ultima versão do Android: Honeycomb
              • Finish!

torres.giorgio@gmail.com
Hello World




torres.giorgio@gmail.com
Hello World! – Versão 1




torres.giorgio@gmail.com
Hello World! – Versão 2




torres.giorgio@gmail.com
Hello World! – Versão 2




torres.giorgio@gmail.com
Views




torres.giorgio@gmail.com
Hello Views – Coisas de Formulário

       • TextView

       • EditText

       • Button



torres.giorgio@gmail.com
Hello Views – LinearLayout




torres.giorgio@gmail.com
Hello Views – RelativeLayout




torres.giorgio@gmail.com
Hello Views – ListView




torres.giorgio@gmail.com
Parte 2




       Construindo um aplicativo completo
torres.giorgio@gmail.com
The Album Cover Notes App
       • Adaptar listas com linhas complexas
       • Manusear SQLiteDatabase
       • Eventos ao selecionar uma linha da lista
       • Criar menu
       • “Chamar” outra Activity
       • Algumas Views de formulário
       • Multi-idiomas


torres.giorgio@gmail.com                            svn project
Dúvidas?




torres.giorgio@gmail.com
Fonte:


       • Android Developers
                     http://developer.android.com/index.html




torres.giorgio@gmail.com
Mais materiais (todos em pt-br)...
       • Forum Portal Android
       • Android Brasil Email Group
       • Android Brasil
       • Blog Eu Android
       • AndroidBlog
       • BlogdoAndroid
       • Apresentação do Júlio - Slideshare


torres.giorgio@gmail.com

Mais conteúdo relacionado

PDF
Androidedetem
PDF
Android Aula 1
PPTX
PPT
Introdução a dispositivos móveis.
PPTX
Android SestInfo 2010
ODP
Tudo o que você queria saber sobre Android, mas não foi no Google pesquisar
PDF
O mercado atual e as tecnologias relacionadas a desenvolvimento para disposit...
PPTX
Apresentação android
Androidedetem
Android Aula 1
Introdução a dispositivos móveis.
Android SestInfo 2010
Tudo o que você queria saber sobre Android, mas não foi no Google pesquisar
O mercado atual e as tecnologias relacionadas a desenvolvimento para disposit...
Apresentação android

Destaque (20)

PDF
Sistemas de informação moveis eCommerce eBusiness eGovernment
PDF
Ferramentas para Construção de IDE
PPTX
Introdução ao desenvolvimento de apps para Android - Dia 2/2
PDF
Hello World Android
PDF
Apresentacao android por Júlio Cesar Bueno Cotta
PDF
Android Secomp 2011
PDF
Hello world ao mundo mobile focado no android
PPTX
Dia 1 android diogo henrique
ODP
Hello World Android
PDF
Aula 02 fundamentos
PPTX
Minicurso2013
PPT
Desenvolvendo Soluções com Android
PDF
Uma DSL para declarar a Ordem de Execução de Aspectos
PPTX
Slidshared
PDF
Aula android 01.pdf
PPTX
Introdução ao desenvolvimento de apps para Android - Dia 1/2
PDF
XML e Banco de Dados XML Nativo
PPTX
Introdução à plataforma Android
PPT
Implantação de um ERP - Vantagens e Dificuldades
PPTX
Cenário do mercado erp
Sistemas de informação moveis eCommerce eBusiness eGovernment
Ferramentas para Construção de IDE
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Hello World Android
Apresentacao android por Júlio Cesar Bueno Cotta
Android Secomp 2011
Hello world ao mundo mobile focado no android
Dia 1 android diogo henrique
Hello World Android
Aula 02 fundamentos
Minicurso2013
Desenvolvendo Soluções com Android
Uma DSL para declarar a Ordem de Execução de Aspectos
Slidshared
Aula android 01.pdf
Introdução ao desenvolvimento de apps para Android - Dia 1/2
XML e Banco de Dados XML Nativo
Introdução à plataforma Android
Implantação de um ERP - Vantagens e Dificuldades
Cenário do mercado erp
Anúncio

Semelhante a Minicurso Programação Android (20)

PDF
PDF
Curso de Google Android - Aula 1
PDF
Going Mobile
PDF
Programando Android - Aula 1
PDF
Desenvolvimento de Apps e Games para Android - Parte 1
PPTX
Desenvolvendo aplicações móveis
PDF
Introdução a programação em Android
PDF
Introdução à programação em Android Senac 15/05/2012
PPTX
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...
PPT
Introdução à programação em Android SENAC 17.06.2013
PPTX
Palestra sobre Android - Faculdade Hélio Rocha
PPT
Android Palestra
PPT
Mobile Apps Cross-Platform
PDF
Desenvolvimento Android: Aula 01
PDF
Apresentação Google Android
PDF
SESTINFO 2011 Apresentacao Android
PDF
Palestra sobre android
PPTX
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...
PPTX
Android
PPTX
Android
Curso de Google Android - Aula 1
Going Mobile
Programando Android - Aula 1
Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvendo aplicações móveis
Introdução a programação em Android
Introdução à programação em Android Senac 15/05/2012
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...
Introdução à programação em Android SENAC 17.06.2013
Palestra sobre Android - Faculdade Hélio Rocha
Android Palestra
Mobile Apps Cross-Platform
Desenvolvimento Android: Aula 01
Apresentação Google Android
SESTINFO 2011 Apresentacao Android
Palestra sobre android
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...
Android
Android
Anúncio

Último (20)

PPTX
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PPTX
Émile Durkheim slide elaborado muito bom
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Apple Pippin Uma breve introdução. - David Glotz
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Processos na gestão de transportes, TM100 Col18
Aula 18 - Manipulacao De Arquivos python
Custos e liquidação no SAP Transportation Management, TM130 Col18
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Émile Durkheim slide elaborado muito bom
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Curso de Java 9 - (Threads) Multitarefas.pptx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...

Minicurso Programação Android

  • 1. UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICA Introdução à programação para Android Giorgio Prímola Ferreira Guimarães Torres giorgio.torres@ufv.br Viçosa, Agosto/2011
  • 3. Introdução • Por quê programar para Android? • Sistema Operacional móvel que mais cresce no mundo • Simplicidade • Facilidade de aprendizado • Dispositivos com alto poder de processamento • Aumento no uso de dispositivos móveis inteligentes (Smartphones, tablets, etc...) • Recursos interessantes: WiFi, GPS, Acelerômetro, etc... torres.giorgio@gmail.com
  • 4. Introdução • Android em números • Tablets Vendas 2T10 3T10 4T10 ∆Tri Market Milhões Share Apple iOS 3,3 4,2 7,3 73,8% 75,3% Android 0,1 0,1 2,1 2000,0% 21,6% Outros 0,1 0,1 0,3 200,0% 3,1% Total 3,5 4,4 9,7 120,5% 100% *Mercado Mundial torres.giorgio@gmail.com
  • 5. Introdução • Smartphones Milhões 2009 2010 Market Share Crescimento 2010 Android 12,0 69,6 23,4% 479,0% Symbian 80,0 109,9 36,9% 37,4% iPhone iOS 20,3 46,8 15,7% 130,0% RIM 34,5 47,5 16,0% 37,5% MS Windows 14,7 12,2 4,1% (7,5%) Mobile Linux 6,4 5,2 1,7% (18,3%) Outros 3,4 5,7 1,9% 70,0% Total 172,3 296,9 100% 72,3% * Vendas Mundiais para usuários finais torres.giorgio@gmail.com
  • 7. Ambiente de Programação • JDK + Eclipse (Galileo+) + ADT plugin + Android SDK (ADT) + API Android • Instalação... torres.giorgio@gmail.com
  • 8. Ambiente de Programação • Configuração do ambiente • Baixar pacotes de API • Criar AVD (Android Virtual Device) com API baixada • Instalar ADT plugin no Eclipse Fonte: Repositório ou Arquivo • Linkar o ADT com o Eclipse Windows > Preferences > Android > Browse... (Local do SDK) torres.giorgio@gmail.com
  • 9. Introdução à Arquitetura do Sistema torres.giorgio@gmail.com
  • 11. Activity • Responsável por uma “janela” na qual o conteúdo é definido pelo seu layout ou alguma View • Pode ganhar o foco da tela • Interage com o usuário torres.giorgio@gmail.com
  • 12. Activity • Ciclo de vida • onCreate(); • onStart(); • onResume(); • onPause(); • onStop(); • onDestroy(); • Para mais informações: http://developer.android.com/reference/android/app/Activity.html torres.giorgio@gmail.com
  • 13. Service • Oferece funcionalidades para outras aplicações; • Pode ser uma aplicação que ficará ativa por muito tempo, rodando em background. • Exemplos: Audio, Sensor, WiFi, Layout Inflater... • Importante: Alguns serviços precisam de permissão para serem usados. Ex.: WiFi • Mais informações: http://developer.android.com/reference/android/app/Service.html torres.giorgio@gmail.com
  • 15. Começando • Criando um projeto Android • New > Other > Android Project ... • Nome do Projeto: HelloWorldAndroid • Build Target: Android 2.1 • Especifica a plataforma a partir da qual o aplicativo será distribuído • Application Name: Hello Android • Especifica o nome do aplicativo. Aparecerá junto ao ícone no menu de aplicativos do dispositivo torres.giorgio@gmail.com
  • 16. Começando • Package Name: com.exemplo.main • Especifica o nome do pacote onde a Activity principal será criada. Deve ser um namespace Java. • Create Activity: HelloAndroidWorld • Nome da Activity principal • Min SDK Version: 7 • Especifica o nível mínimo da API requerida para a aplicação. Deve ser um número inteiro entre 1 e 13 (API Android 3.2) – ultima versão do Android: Honeycomb • Finish! torres.giorgio@gmail.com
  • 18. Hello World! – Versão 1 torres.giorgio@gmail.com
  • 19. Hello World! – Versão 2 torres.giorgio@gmail.com
  • 20. Hello World! – Versão 2 torres.giorgio@gmail.com
  • 22. Hello Views – Coisas de Formulário • TextView • EditText • Button torres.giorgio@gmail.com
  • 23. Hello Views – LinearLayout torres.giorgio@gmail.com
  • 24. Hello Views – RelativeLayout torres.giorgio@gmail.com
  • 25. Hello Views – ListView torres.giorgio@gmail.com
  • 26. Parte 2 Construindo um aplicativo completo torres.giorgio@gmail.com
  • 27. The Album Cover Notes App • Adaptar listas com linhas complexas • Manusear SQLiteDatabase • Eventos ao selecionar uma linha da lista • Criar menu • “Chamar” outra Activity • Algumas Views de formulário • Multi-idiomas torres.giorgio@gmail.com svn project
  • 29. Fonte: • Android Developers http://developer.android.com/index.html torres.giorgio@gmail.com
  • 30. Mais materiais (todos em pt-br)... • Forum Portal Android • Android Brasil Email Group • Android Brasil • Blog Eu Android • AndroidBlog • BlogdoAndroid • Apresentação do Júlio - Slideshare torres.giorgio@gmail.com