SlideShare uma empresa Scribd logo
Android na Prática




   Ramon Rabello
  Comunidade Tá Safo!
Android?!
1ª plataforma móvel open source.
paradigma novo de desenvolvimento móvel.
Para consumidores: #TudoJuntoEmisturado
Para desenvs, um SDK completo.
um sistema operacional.
plataforma inovadora.
inaugurou os superphones.
E para desenvolver? O que preciso?

1. Instalar Java:
http://www.java.com/pt_BR/download/

2. Instalar Eclipse IDE (opcional):
http://eclipse.org/downloads/

3. Instalar SDK:
http://developer.android.com/sdk/index.html

4. Baixar o Plugin ADT para Eclipse:
http://developer.android.com/sdk/eclipse-adt.html

5. Baixar os componentes do SDK:
http://developer.android.com/sdk/adding-components.html

6. Configurar o ADT para “enxergar” o SDK

7. Criar um projeto Android no Eclipse
E agora, vamos para a prática o/
Aplicação: Gugol


      Um simples pesquisador para
     filtrar o termo de pesquisa por...
páginas da Web...
imagens...
ou vídeos.
Criando o projeto
1. No Eclipse, aponte para:
File > New > Android Project...

2. Na janela que abrir, preencha
As informações do projeto:
    - Project Name
    - Selecione o “Build Target”
Criando o projeto
1. No Eclipse, aponte para:
File > New > Android Project...

2. Na janela que abrir, preencha
As informações do projeto:
    - Project Name
    - Selecione o “Build Target”
    - Application name
    - Package name
    - Deixe “Create Activity”
    selecionado
    - Informe o “Min SDK version”
    - Finalize, clicando em Finish.
Estrutura de um projeto Android
             código-fonte da aplicação




                      classe gerenciadora de recursos


            pasta de recursos




                  GUI das telas da aplicação



                          Arquivo com textos estáticos
                          Usados na aplicação
GUI da aplicação:main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" referencia o arquivo strings.xml
  >
  <TextView android:text="@string/palavra_chave" android:layout_width="wrap_content"
     android:id="@+id/textView1" android:layout_height="wrap_content"></TextView>
  <EditText android:layout_width="match_parent" android:layout_height="wrap_content"
     android:hint="palavra-chave" android:id="@+id/etPalavraChave">
     <requestFocus></requestFocus>
  </EditText>
  <Spinner android:layout_height="wrap_content" android:layout_width="match_parent"
android:id="@+id/spTipoPesquisa"></Spinner>
  <Button android:id="@+id/button1" android:layout_height="wrap_content"
android:layout_width="match_parent" android:onClick="pesquisar"
android:text="@string/pesquisar"></Button>
</LinearLayout>
                                                    método de GugolActivity.java
Classe R.java
package android.gugol;

public final class R {
  public static final class attr {
  }
  public static final class drawable {
     public static final int icon=0x7f020000;
  }
  public static final class id {
     public static final int button1=0x7f050003;
     public static final int etPalavraChave=0x7f050001;
     public static final int spTipoPesquisa=0x7f050002;
     public static final int textView1=0x7f050000;
  }
  public static final class layout {
     public static final int main=0x7f030000;
  }
  public static final class string {
     public static final int app_name=0x7f040001;
     public static final int google_web_url_query=0x7f040006;
     public static final int hello=0x7f040000;
     public static final int images_google_url_query=0x7f040005;
     public static final int palavra_chave=0x7f040002;
     public static final int pesquisar=0x7f040003;
     public static final int youtube_url_query=0x7f040004;
  }
}
Arquivo strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, GugolActivity!</string>
    <string name="app_name">Gugol</string>
    <string name="palavra_chave">Informa a palavra-chave abaixo</string>
    <string name="pesquisar">Pesquisar</string>
    <string name="youtube_url_query">http://www.youtube.com/results?
search_query=</string>
    <string name="images_google_url_query">http://images.google.com/search?
q=</string>
    <string name="google_web_url_query">http://www.google.com/search?
q=</string>
</resources>
GugolActivity.java
public class GugolActivity extends Activity {

        private EditText etPalavraChave;
        private Spinner spTiposPesquisa;
        private final String TIPOS_PESQUISAS[] = {"Web", "Imagens", "Vídeos"};

     /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);                        carrega a GUI do arquivo main.xml
       setContentView(R.layout.main);
       etPalavraChave = (EditText) findViewById(R.id.etPalavraChave);
       spTiposPesquisa = (Spinner) findViewById(R.id.spTipoPesquisa);
       spTiposPesquisa.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, TIPOS_PESQUISAS));
    }

    public void pesquisar(View view) {                    chamado ao clicar no botão “Pesquisar”
        String palavraChave = etPalavraChave.getText().toString();
        String tipoPesquisa = (String) spTiposPesquisa.getSelectedItem();
        Uri uri = null;

        if (palavraChave.equals("")) {
                 Toast.makeText(this, "Ops! Você esqueceu de informar o termo de pesquisa! :)", Toast.LENGTH_LONG).show();
        } else {
                 switch (spTiposPesquisa.getSelectedItemPosition()) {
                         case 0:{
                                   uri = Uri.parse(getString(R.string.google_web_url_query) + palavraChave);
                                   break;
                         }
                         case 1:{
                                   uri = Uri.parse(getString(R.string.images_google_url_query) + palavraChave);
                                   break;
                         }
                         case 2:{
                                   uri = Uri.parse(getString(R.string.youtube_url_query) + palavraChave);
                                   break;
                         }
                 }
                 startActivity(Intent.createChooser(new Intent(Intent.ACTION_VIEW, uri), "Selecione a ação..."));
        }
    }
}
AndroidManifest.xml

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

  <application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".GugolActivity"
           android:label="@string/app_name">
      <intent-filter>
         <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>

  </application>
</manifest>
Envolva-se!
Site Oficial do Desenvolvedor Android
         http://developer.android.com



           Portal Android
         http://www.portalandroid.org


    Ajude a evoluir a plataforma!
          http://source.android.com
Obrigado!




tasafo.wordpress.com
ramon.rabello@gmail.com
ramonrabello.blogspot.com
slideshare.net/ramonrabello/
@ramonrabello    @tasafo

Mais conteúdo relacionado

PPTX
Desvendando as ferramentas e serviços para o desenvolvedor Android
PDF
jQuery básico (parte 3)
PDF
Design Patterns na Programação de Jogo
PPTX
Técnicas de Refactorización (EN ESPANOL)
PDF
Introdução ao JQuery e AJAX
PPTX
Construindo Diretivas com AngularJS
PDF
JavaScript - A Linguagem
PDF
Vraptor
Desvendando as ferramentas e serviços para o desenvolvedor Android
jQuery básico (parte 3)
Design Patterns na Programação de Jogo
Técnicas de Refactorización (EN ESPANOL)
Introdução ao JQuery e AJAX
Construindo Diretivas com AngularJS
JavaScript - A Linguagem
Vraptor

Destaque (20)

PDF
Butler Manufacturing - Annville Plant Profile
PDF
Desmania design Retail & Branding Profile
PDF
New profile(v3)
PDF
Interserve Retail &amp; Interiors Company Profile 2010
PPT
A REAL BUSINESS FOR ALL
PPT
Attitude
PPTX
Heritage retail chain - company profile
PPTX
Door Cruze Manufacturing Franchise Company profile
PPTX
Sabina Manufacturing Profile
PPT
The indian dairy industry series 2 - dairy whitener
PPTX
Recycling paper iip
PPTX
Green Supply Chain Management Practices_Abhijeet Ghadge
PPT
Module 6 Retail supply chain management
PPT
Paper recycling
PPT
Green supply chain management
PPTX
Marketing h&m
PPTX
Recycling of paper and board
PPTX
H&m project
PPTX
Supply Chain in Retail management
PPTX
Group Layout (Manufacturing Management)
Butler Manufacturing - Annville Plant Profile
Desmania design Retail & Branding Profile
New profile(v3)
Interserve Retail &amp; Interiors Company Profile 2010
A REAL BUSINESS FOR ALL
Attitude
Heritage retail chain - company profile
Door Cruze Manufacturing Franchise Company profile
Sabina Manufacturing Profile
The indian dairy industry series 2 - dairy whitener
Recycling paper iip
Green Supply Chain Management Practices_Abhijeet Ghadge
Module 6 Retail supply chain management
Paper recycling
Green supply chain management
Marketing h&m
Recycling of paper and board
H&m project
Supply Chain in Retail management
Group Layout (Manufacturing Management)
Anúncio

Semelhante a Android na Prática (20)

PDF
Introdução ao Android (minicurso 4h)
PDF
Agora é Android, Tá Safo?
PDF
Apresentação Google Android
PDF
SESTINFO 2011 Apresentacao Android
PDF
Introdução ao Desenvolvimento Android
PDF
Introdução a Plataforma Android
PDF
Minicurso Android Ronildo Oliveira
PDF
Aulas Google Android
PDF
O fantástico mundo de Android
PDF
Conexao Java - Sua primeira app Android
PPTX
Curso Android 01: Introdução
PDF
Seminário sd android_exemplos
PDF
Curso de android
PDF
Documentao Projeto Android - Intent
PPT
Treinamento básico de Android
PPTX
Introdução à plataforma Android
PDF
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
PPTX
Introdução ao desenvolvimento de apps para Android - Dia 2/2
PPTX
Computação Móvel 2012.2 - Android
PDF
Curso de Android - aula 3
Introdução ao Android (minicurso 4h)
Agora é Android, Tá Safo?
Apresentação Google Android
SESTINFO 2011 Apresentacao Android
Introdução ao Desenvolvimento Android
Introdução a Plataforma Android
Minicurso Android Ronildo Oliveira
Aulas Google Android
O fantástico mundo de Android
Conexao Java - Sua primeira app Android
Curso Android 01: Introdução
Seminário sd android_exemplos
Curso de android
Documentao Projeto Android - Intent
Treinamento básico de Android
Introdução à plataforma Android
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Computação Móvel 2012.2 - Android
Curso de Android - aula 3
Anúncio

Mais de Ramon Ribeiro Rabello (20)

PDF
Declarative UIs with Jetpack Compose
PDF
Android Jetpack + Coroutines: To infinity and beyond
PDF
Create Modern Apps with Android Jetpack
PDF
Cultura de testes em times mobile
PDF
Ninja Productivity in Android Studio
PDF
Produtividade ninja com android studio
PDF
Automatize seus testes de UI com a Espresso!
PDF
Os caminhos da Agilidade em Empresa Pública
PDF
Making your app see with Mobile Vision API
PDF
Inovar em tempos de crise? Yes, We Can!
PDF
O ecossistema android
PDF
Android Marshmallow na prática
PDF
Android Wear: Estendendo sua app para relógios inteligentes
PDF
Introdução ao Android Studio
PDF
O caminho de um desenvolvedor android
PDF
Criando Apps Sociais em Android
PDF
Porque Aprender Android
PDF
Workshop Android em Ambientes de Integração
PDF
De idealista à empreendedor - como desenvolver aplicações em android que conq...
PDF
Desenvolvimento Web para Android
Declarative UIs with Jetpack Compose
Android Jetpack + Coroutines: To infinity and beyond
Create Modern Apps with Android Jetpack
Cultura de testes em times mobile
Ninja Productivity in Android Studio
Produtividade ninja com android studio
Automatize seus testes de UI com a Espresso!
Os caminhos da Agilidade em Empresa Pública
Making your app see with Mobile Vision API
Inovar em tempos de crise? Yes, We Can!
O ecossistema android
Android Marshmallow na prática
Android Wear: Estendendo sua app para relógios inteligentes
Introdução ao Android Studio
O caminho de um desenvolvedor android
Criando Apps Sociais em Android
Porque Aprender Android
Workshop Android em Ambientes de Integração
De idealista à empreendedor - como desenvolver aplicações em android que conq...
Desenvolvimento Web para Android

Último (19)

PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
Aula04-Academia Heri- Tecnologia Geral 2025
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
COBITxITIL-Entenda as diferença em uso governança TI
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Apple Pippin Uma breve introdução. - David Glotz
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Processos na gestão de transportes, TM100 Col18
Aula 18 - Manipulacao De Arquivos python
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Custos e liquidação no SAP Transportation Management, TM130 Col18

Android na Prática

  • 1. Android na Prática Ramon Rabello Comunidade Tá Safo!
  • 3. 1ª plataforma móvel open source.
  • 4. paradigma novo de desenvolvimento móvel.
  • 6. Para desenvs, um SDK completo.
  • 10. E para desenvolver? O que preciso? 1. Instalar Java: http://www.java.com/pt_BR/download/ 2. Instalar Eclipse IDE (opcional): http://eclipse.org/downloads/ 3. Instalar SDK: http://developer.android.com/sdk/index.html 4. Baixar o Plugin ADT para Eclipse: http://developer.android.com/sdk/eclipse-adt.html 5. Baixar os componentes do SDK: http://developer.android.com/sdk/adding-components.html 6. Configurar o ADT para “enxergar” o SDK 7. Criar um projeto Android no Eclipse
  • 11. E agora, vamos para a prática o/
  • 12. Aplicação: Gugol Um simples pesquisador para filtrar o termo de pesquisa por...
  • 16. Criando o projeto 1. No Eclipse, aponte para: File > New > Android Project... 2. Na janela que abrir, preencha As informações do projeto: - Project Name - Selecione o “Build Target”
  • 17. Criando o projeto 1. No Eclipse, aponte para: File > New > Android Project... 2. Na janela que abrir, preencha As informações do projeto: - Project Name - Selecione o “Build Target” - Application name - Package name - Deixe “Create Activity” selecionado - Informe o “Min SDK version” - Finalize, clicando em Finish.
  • 18. Estrutura de um projeto Android código-fonte da aplicação classe gerenciadora de recursos pasta de recursos GUI das telas da aplicação Arquivo com textos estáticos Usados na aplicação
  • 19. GUI da aplicação:main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" referencia o arquivo strings.xml > <TextView android:text="@string/palavra_chave" android:layout_width="wrap_content" android:id="@+id/textView1" android:layout_height="wrap_content"></TextView> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="palavra-chave" android:id="@+id/etPalavraChave"> <requestFocus></requestFocus> </EditText> <Spinner android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/spTipoPesquisa"></Spinner> <Button android:id="@+id/button1" android:layout_height="wrap_content" android:layout_width="match_parent" android:onClick="pesquisar" android:text="@string/pesquisar"></Button> </LinearLayout> método de GugolActivity.java
  • 20. Classe R.java package android.gugol; public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class id { public static final int button1=0x7f050003; public static final int etPalavraChave=0x7f050001; public static final int spTipoPesquisa=0x7f050002; public static final int textView1=0x7f050000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int google_web_url_query=0x7f040006; public static final int hello=0x7f040000; public static final int images_google_url_query=0x7f040005; public static final int palavra_chave=0x7f040002; public static final int pesquisar=0x7f040003; public static final int youtube_url_query=0x7f040004; } }
  • 21. Arquivo strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, GugolActivity!</string> <string name="app_name">Gugol</string> <string name="palavra_chave">Informa a palavra-chave abaixo</string> <string name="pesquisar">Pesquisar</string> <string name="youtube_url_query">http://www.youtube.com/results? search_query=</string> <string name="images_google_url_query">http://images.google.com/search? q=</string> <string name="google_web_url_query">http://www.google.com/search? q=</string> </resources>
  • 22. GugolActivity.java public class GugolActivity extends Activity { private EditText etPalavraChave; private Spinner spTiposPesquisa; private final String TIPOS_PESQUISAS[] = {"Web", "Imagens", "Vídeos"}; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); carrega a GUI do arquivo main.xml setContentView(R.layout.main); etPalavraChave = (EditText) findViewById(R.id.etPalavraChave); spTiposPesquisa = (Spinner) findViewById(R.id.spTipoPesquisa); spTiposPesquisa.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, TIPOS_PESQUISAS)); } public void pesquisar(View view) { chamado ao clicar no botão “Pesquisar” String palavraChave = etPalavraChave.getText().toString(); String tipoPesquisa = (String) spTiposPesquisa.getSelectedItem(); Uri uri = null; if (palavraChave.equals("")) { Toast.makeText(this, "Ops! Você esqueceu de informar o termo de pesquisa! :)", Toast.LENGTH_LONG).show(); } else { switch (spTiposPesquisa.getSelectedItemPosition()) { case 0:{ uri = Uri.parse(getString(R.string.google_web_url_query) + palavraChave); break; } case 1:{ uri = Uri.parse(getString(R.string.images_google_url_query) + palavraChave); break; } case 2:{ uri = Uri.parse(getString(R.string.youtube_url_query) + palavraChave); break; } } startActivity(Intent.createChooser(new Intent(Intent.ACTION_VIEW, uri), "Selecione a ação...")); } } }
  • 23. AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="android.gugol" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".GugolActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
  • 24. Envolva-se! Site Oficial do Desenvolvedor Android http://developer.android.com Portal Android http://www.portalandroid.org Ajude a evoluir a plataforma! http://source.android.com