Workshop
                               Android como
                               Ambientes de
                                Integração
                                 @ramonrabello   @androidnarede
domingo, 2 de dezembro de 12
Um pouco sobre mim

                                                     Ramon Ribeiro Rabello
                                                                  Ciência
                                                              da Computação
                                                                                       +1




                                                   sta a                      arquitet
                                                 va      ci
                                                                                       o de sof
                                                                                                tware
                                                  er iên                         na dddd
                                               exp m                                       dddd
                                                    co
                                                               acompanho
                                                              android desde
                                                                 o início
domingo, 2 de dezembro de 12
O que iremos aprender hoje?

                                                    2
                                                                       Droidshop
        1                                                 Criando nosso projeto: WinLinuxDayApp
                            Conceitos Básicos           Entendendo a estrutura de um projeto Android
                               O que é Android?                   Criando as telas da app
                               Porque Android?                        Apresentação
                           Android como framework                        Principal
                           Fundamentos Essenciais                       Cadastro
                          Configurando Ambiente de                        Listagem
                              Desenvolvimento                     Navegação entre telas
                                                               Adicionando itens ao menu
                                                         Rodando a app no emulador/androphone



domingo, 2 de dezembro de 12
O que é Android?




                                       1ª padrão
                                      aberto para
                                     desenvolvimento
                                         móvel.




domingo, 2 de dezembro de 12
O que é Android?




                                       É um
                                     Sistema
                                    Operacional.




domingo, 2 de dezembro de 12
O que é Android?


                                                         Andy Rubin
                                                        (Android CEO)


                                      Uma empresa
                                       chamada
                                    “Android Inc.”...




domingo, 2 de dezembro de 12
O que é Android?


                                                          Andy Rubin
                                                         (Android CEO)


                                     ...que em 2005
                                     foi comprada pela
                                         Google.




domingo, 2 de dezembro de 12
O que é Android?



                                                          Android         iOS                   Blackberry
                                                          Symbian         Windows Phone         Linux
                                                          Outros



                                                                                2% 2%
                                                                                 2%
                                      Já domina 75%                        4%

                                    da fatia do mercado             15%
                                      móvel mundial.


                                                                                          75%




domingo, 2 de dezembro de 12
O que é Android?




                                           Atingiu
                                     400 milhões de
                                    ativações no mundo   goo.gl/ORuyb
                                       todo em 2012.




domingo, 2 de dezembro de 12
Por que Android?


                                        Para usuários, mais alternativas
                                         e experiência personalizada.




                               Galaxy SIII        Galaxy Nexus        Sony Xperia S

domingo, 2 de dezembro de 12
Por que Android?

         Para nós //desenvolvedores,
         uma plataforma aberta para
           poder ser customizada.                   Se você conhece Java,
                                                   a curva de aprendizado
                                                  para Android será mínima.




domingo, 2 de dezembro de 12
Por que Android?



        Facilidade na integ ração e                 Você pode desenvolver em
      comunicação entre aplicativos.              qualquer Sistema Operacional.




domingo, 2 de dezembro de 12
Fundamentos Essenciais: Intent


                                                                É responsável por
                                                                    realizar a
                                                                 comunicação
                                                                    entre os
                                                                 componentes
                                                                    Android
                                                                     (Activity,
                                                                BroadcastReceiver,
                                                                     Service)
domingo, 2 de dezembro de 12
Fundamentos Essenciais: View
                                    ImageView

    TextView
                                                EditText
                                                             Representa
                                                              qualquer
                                                           componente
                                                           gráfico de tela.


domingo, 2 de dezembro de 12
Fundamentos Essenciais: Activity



                                                       É o componente
                                                         utilizado para
                                                          visualizar
                                                         interfaces
                                                           gráficas.

domingo, 2 de dezembro de 12
Fundamentos Essenciais: Arquivo de Manifesto

        ?xml version="1.0" encoding="utf-8"?>
        <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        	 package="br.com.androidnarede.winlinuxdayapp"
        	 android:versionCode="1"
        	 android:versionName="1.0" >
        	 <uses-sdk



                                                                                   É o descritor
        	 	 android:minSdkVersion="11"
        	 	 android:targetSdkVersion="16" />
        	 <application
        	 	 android:allowBackup="true"


                                                                                      de uma
        	 	 android:icon="@drawable/ic_launcher"
        	 	 android:label="@string/app_name"
        	 	 android:theme="@style/AppTheme" >
        	 	 <activity
        	 	 	 android:name="br.com.androidnarede.winlinuxdayapp.SplashActivity"
        	 	 	 android:label="@string/app_name"
        	 	 	 android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" >
                                                                                     aplicação
                                                                                      android.
        	 	 	 <intent-filter>
        	 	 	 	 <action android:name="android.intent.action.MAIN" />
        	 	 	 	 <category android:name="android.intent.category.LAUNCHER" />
        	 	 	 </intent-filter>
        	 	 </activity>

             <!-- mais declarações de Activities -->
          </application
        </manifest>

domingo, 2 de dezembro de 12
Android como framework




domingo, 2 de dezembro de 12
Configurando Ambiente de Desenvolvimento

                                                                Simplesmente, basta baixar e
                                                                descompactar o ADT Bundle que já
                                                                vem com:
                                                                 - Eclipse+ ADT Plugin
                                                                - Android SDK Tools
                                                                - Android Platform-tools
                                                                - Versão mais recente da plataforma
                                                                - Imagem da versão atual da plataforma
                                                  /index.html
                                                                para utilizar no emulador
                                d.android.com/sdk


                               Atenção: Obrigatória a instalação de uma JDK 5+
domingo, 2 de dezembro de 12
Agora é na prática!




domingo, 2 de dezembro de 12
Para saber mais sobre Android

              Android Developer Guide




                                               http://d.android.com/develop/
domingo, 2 de dezembro de 12
Para saber mais sobre Android

                Android Design Guide




                                                 http://d.android.com/design/
domingo, 2 de dezembro de 12
Participe do Curso Online do Android na Rede!
    Duração: 20h                                                                  O que você irá aprender?
    Horário: Terças e Quintas, 20h - 22h
    Previsão de Início: 13 de Dezembro                #Módulo 1 – “Hello Android”                                #Módulo 2 – Interface Gráfica
                                                      Apresentando Android                                       Android Design Guide: Boas práticas para Design em Android
                                                      O que é Android?                                           Construindo UIs em XML
                                                      A Open Handset Alliance                                    Widgets & Layouts
                                                      Por que devo escolher Android?                             Explorando uma Activity (Tela)
                                                      Versões da plataforma (Build Target)                       Ciclo de vida de uma Activity
                                                      Mitos, Fatos e Curiosidades                                Gerenciando uma Activity
                                                      O framework Android                                        Criando apps com várias telas
                                                      Fundamentos Essenciais                                     Navegando entre telas diferentes
                                                      Intent                                                     Fornecendo informações para outras telas
                                                      Activity                                                   Tratamento de eventos
                                                      BroadcastReceiver                                          Diálogos
                                                      ContentProvider
                                                      Service
                                                                                                                 #Módulo 3 – Deixando sua app minimalista
                                                      AndroidManifest.xml
                                                                                                                 Persistência de Dados
                                                      Ambiente de desenvolvimento
                                                                                                                 Tipos de persistência em Android
                                                      Apresentando o Android Developer Guide
                                                                                                                 Trabalhando com banco de dados SQLite
                                                      Entendendo o processo de desenvolvimento em Android
                                                                                                                 Implementando um DAO para sua app
                                                      Instalando as ferramentas necessárias
                                                                                                                 Criando um CRUD completo e intuitivo
                                                      Apresentando os kits de desenvolvimento: SDK, NDK, ADK
                                                                                                                 Localização & Mapas
                                                      Explorando o Android SDK
                                                                                                                 Obtendo sua posição via GPS
                                                      Entendendo os componentes da plataforma
                                                                                                                 Geolocalização com Geocoder
                                                      Gerenciando componentes com o Android SDK Manager
                                                                                                                 Gerando API Key para utilização de mapas
                                                      Criando dispositivos virtuais (AVDs) no emulador
                                                                                                                 Exibindo mapas com o componente MapView e MapActivity
                                                      Desenvolvendo com o plugin Eclipse ADT
                                                                                                                 Exibindo MapView com MapActivity
                                                      Construindo seu primeiro “Hello Android”
                                                                                                                 Customizando mapas com overlays
                                                      Estrutura de um projeto Android
                                                                                                                 Integrando com Redes Sociais
                                                      Executando a aplicação no emulador, smartphone e tablets
                                                                                                                 Por que utilizar redes sociais?
                                                      Como gerar o .apk da sua app
                                                                                                                 Entendendo o que é o padrão OAuth
                                                      Fazendo deploy da app em smartphones e tablets
                                                                                                                 Criando uma App Social
                                                      Explorando Intents
                                                                                                                 Registrando uma app no Twitter e Facebook
                                                      Tipos de Intents
                                                                                                                 Comunicando sua app com a Twitter API e Facebook API
                                                      Comunicando com aplicativos da plataforma
                                                                                                                 Divulgando sua aplicação nas redes sociais
                                                      Comunicando entre aplicativos diferentes
                                                                                                                 Enviando dados para suas redes sociais utilizando Intents
                                                      Passando parâmetros para Intents



                http://androidnarede.com.br/curso/                        clicar em “Eu quero participar!”
domingo, 2 de dezembro de 12
Obrigado!




           @androidnarede                              @ramonrabello


             facebook.com/                             facebook.com/
             androidnarede                              ramonrabello



                               about.me/ramonrabello
domingo, 2 de dezembro de 12

Workshop Android em Ambientes de Integração

  • 1.
    Workshop Android como Ambientes de Integração @ramonrabello @androidnarede domingo, 2 de dezembro de 12
  • 2.
    Um pouco sobremim Ramon Ribeiro Rabello Ciência da Computação +1 sta a arquitet va ci o de sof tware er iên na dddd exp m dddd co acompanho android desde o início domingo, 2 de dezembro de 12
  • 3.
    O que iremosaprender hoje? 2 Droidshop 1 Criando nosso projeto: WinLinuxDayApp Conceitos Básicos Entendendo a estrutura de um projeto Android O que é Android? Criando as telas da app Porque Android? Apresentação Android como framework Principal Fundamentos Essenciais Cadastro Configurando Ambiente de Listagem Desenvolvimento Navegação entre telas Adicionando itens ao menu Rodando a app no emulador/androphone domingo, 2 de dezembro de 12
  • 4.
    O que éAndroid? 1ª padrão aberto para desenvolvimento móvel. domingo, 2 de dezembro de 12
  • 5.
    O que éAndroid? É um Sistema Operacional. domingo, 2 de dezembro de 12
  • 6.
    O que éAndroid? Andy Rubin (Android CEO) Uma empresa chamada “Android Inc.”... domingo, 2 de dezembro de 12
  • 7.
    O que éAndroid? Andy Rubin (Android CEO) ...que em 2005 foi comprada pela Google. domingo, 2 de dezembro de 12
  • 8.
    O que éAndroid? Android iOS Blackberry Symbian Windows Phone Linux Outros 2% 2% 2% Já domina 75% 4% da fatia do mercado 15% móvel mundial. 75% domingo, 2 de dezembro de 12
  • 9.
    O que éAndroid? Atingiu 400 milhões de ativações no mundo goo.gl/ORuyb todo em 2012. domingo, 2 de dezembro de 12
  • 10.
    Por que Android? Para usuários, mais alternativas e experiência personalizada. Galaxy SIII Galaxy Nexus Sony Xperia S domingo, 2 de dezembro de 12
  • 11.
    Por que Android? Para nós //desenvolvedores, uma plataforma aberta para poder ser customizada. Se você conhece Java, a curva de aprendizado para Android será mínima. domingo, 2 de dezembro de 12
  • 12.
    Por que Android? Facilidade na integ ração e Você pode desenvolver em comunicação entre aplicativos. qualquer Sistema Operacional. domingo, 2 de dezembro de 12
  • 13.
    Fundamentos Essenciais: Intent É responsável por realizar a comunicação entre os componentes Android (Activity, BroadcastReceiver, Service) domingo, 2 de dezembro de 12
  • 14.
    Fundamentos Essenciais: View ImageView TextView EditText Representa qualquer componente gráfico de tela. domingo, 2 de dezembro de 12
  • 15.
    Fundamentos Essenciais: Activity É o componente utilizado para visualizar interfaces gráficas. domingo, 2 de dezembro de 12
  • 16.
    Fundamentos Essenciais: Arquivode Manifesto ?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="br.com.androidnarede.winlinuxdayapp" android:versionCode="1" android:versionName="1.0" > <uses-sdk É o descritor android:minSdkVersion="11" android:targetSdkVersion="16" /> <application android:allowBackup="true" de uma android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="br.com.androidnarede.winlinuxdayapp.SplashActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" > aplicação android. <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- mais declarações de Activities --> </application </manifest> domingo, 2 de dezembro de 12
  • 17.
  • 18.
    Configurando Ambiente deDesenvolvimento Simplesmente, basta baixar e descompactar o ADT Bundle que já vem com: - Eclipse+ ADT Plugin - Android SDK Tools - Android Platform-tools - Versão mais recente da plataforma - Imagem da versão atual da plataforma /index.html para utilizar no emulador d.android.com/sdk Atenção: Obrigatória a instalação de uma JDK 5+ domingo, 2 de dezembro de 12
  • 19.
    Agora é naprática! domingo, 2 de dezembro de 12
  • 20.
    Para saber maissobre Android Android Developer Guide http://d.android.com/develop/ domingo, 2 de dezembro de 12
  • 21.
    Para saber maissobre Android Android Design Guide http://d.android.com/design/ domingo, 2 de dezembro de 12
  • 22.
    Participe do CursoOnline do Android na Rede! Duração: 20h O que você irá aprender? Horário: Terças e Quintas, 20h - 22h Previsão de Início: 13 de Dezembro #Módulo 1 – “Hello Android” #Módulo 2 – Interface Gráfica Apresentando Android Android Design Guide: Boas práticas para Design em Android O que é Android? Construindo UIs em XML A Open Handset Alliance Widgets & Layouts Por que devo escolher Android? Explorando uma Activity (Tela) Versões da plataforma (Build Target) Ciclo de vida de uma Activity Mitos, Fatos e Curiosidades Gerenciando uma Activity O framework Android Criando apps com várias telas Fundamentos Essenciais Navegando entre telas diferentes Intent Fornecendo informações para outras telas Activity Tratamento de eventos BroadcastReceiver Diálogos ContentProvider Service #Módulo 3 – Deixando sua app minimalista AndroidManifest.xml Persistência de Dados Ambiente de desenvolvimento Tipos de persistência em Android Apresentando o Android Developer Guide Trabalhando com banco de dados SQLite Entendendo o processo de desenvolvimento em Android Implementando um DAO para sua app Instalando as ferramentas necessárias Criando um CRUD completo e intuitivo Apresentando os kits de desenvolvimento: SDK, NDK, ADK Localização & Mapas Explorando o Android SDK Obtendo sua posição via GPS Entendendo os componentes da plataforma Geolocalização com Geocoder Gerenciando componentes com o Android SDK Manager Gerando API Key para utilização de mapas Criando dispositivos virtuais (AVDs) no emulador Exibindo mapas com o componente MapView e MapActivity Desenvolvendo com o plugin Eclipse ADT Exibindo MapView com MapActivity Construindo seu primeiro “Hello Android” Customizando mapas com overlays Estrutura de um projeto Android Integrando com Redes Sociais Executando a aplicação no emulador, smartphone e tablets Por que utilizar redes sociais? Como gerar o .apk da sua app Entendendo o que é o padrão OAuth Fazendo deploy da app em smartphones e tablets Criando uma App Social Explorando Intents Registrando uma app no Twitter e Facebook Tipos de Intents Comunicando sua app com a Twitter API e Facebook API Comunicando com aplicativos da plataforma Divulgando sua aplicação nas redes sociais Comunicando entre aplicativos diferentes Enviando dados para suas redes sociais utilizando Intents Passando parâmetros para Intents http://androidnarede.com.br/curso/ clicar em “Eu quero participar!” domingo, 2 de dezembro de 12
  • 23.
    Obrigado! @androidnarede @ramonrabello facebook.com/ facebook.com/ androidnarede ramonrabello about.me/ramonrabello domingo, 2 de dezembro de 12