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

Minicurso Programação Android

  • 1.
    UNIVERSIDADE FEDERAL DEVIÇ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
  • 2.
  • 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
  • 6.
  • 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 à Arquiteturado Sistema torres.giorgio@gmail.com
  • 10.
  • 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
  • 14.
  • 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
  • 17.
  • 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
  • 21.
  • 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 CoverNotes 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
  • 28.
  • 29.
    Fonte: • Android Developers http://developer.android.com/index.html torres.giorgio@gmail.com
  • 30.
    Mais materiais (todosem 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