SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
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

Destaque

Butler Manufacturing - Annville Plant Profile
Butler Manufacturing - Annville Plant ProfileButler Manufacturing - Annville Plant Profile
Butler Manufacturing - Annville Plant ProfileChris Schroeder
 
Desmania design Retail & Branding Profile
Desmania design Retail & Branding ProfileDesmania design Retail & Branding Profile
Desmania design Retail & Branding ProfileDesmania_Design
 
Interserve Retail &amp; Interiors Company Profile 2010
Interserve Retail &amp; Interiors Company Profile 2010Interserve Retail &amp; Interiors Company Profile 2010
Interserve Retail &amp; Interiors Company Profile 2010PaulTedore
 
A REAL BUSINESS FOR ALL
A REAL BUSINESS FOR ALL A REAL BUSINESS FOR ALL
A REAL BUSINESS FOR ALL BalramKrishan
 
Heritage retail chain - company profile
Heritage retail chain - company profileHeritage retail chain - company profile
Heritage retail chain - company profileSeth Romary
 
Door Cruze Manufacturing Franchise Company profile
Door Cruze Manufacturing Franchise Company profileDoor Cruze Manufacturing Franchise Company profile
Door Cruze Manufacturing Franchise Company profiledoorcruze
 
Sabina Manufacturing Profile
Sabina Manufacturing ProfileSabina Manufacturing Profile
Sabina Manufacturing ProfileLarry Calvert
 
The indian dairy industry series 2 - dairy whitener
The indian dairy industry series 2 - dairy whitenerThe indian dairy industry series 2 - dairy whitener
The indian dairy industry series 2 - dairy whitenerSubhashis Dasgupta
 
Recycling paper iip
Recycling paper iipRecycling paper iip
Recycling paper iipsjypawar
 
Green Supply Chain Management Practices_Abhijeet Ghadge
Green Supply Chain Management Practices_Abhijeet GhadgeGreen Supply Chain Management Practices_Abhijeet Ghadge
Green Supply Chain Management Practices_Abhijeet GhadgeAbhijeet Ghadge
 
Module 6 Retail supply chain management
Module 6 Retail supply chain managementModule 6 Retail supply chain management
Module 6 Retail supply chain managementIRETChina
 
Green supply chain management
Green supply chain management Green supply chain management
Green supply chain management POOJA GOYAL
 
Recycling of paper and board
Recycling of paper and boardRecycling of paper and board
Recycling of paper and boardm_divya_bharathi
 
Supply Chain in Retail management
Supply Chain  in Retail managementSupply Chain  in Retail management
Supply Chain in Retail managementLohith Lohi
 
Group Layout (Manufacturing Management)
Group Layout (Manufacturing Management)Group Layout (Manufacturing Management)
Group Layout (Manufacturing Management)Ishan Parekh
 

Destaque (20)

Butler Manufacturing - Annville Plant Profile
Butler Manufacturing - Annville Plant ProfileButler Manufacturing - Annville Plant Profile
Butler Manufacturing - Annville Plant Profile
 
Desmania design Retail & Branding Profile
Desmania design Retail & Branding ProfileDesmania design Retail & Branding Profile
Desmania design Retail & Branding Profile
 
New profile(v3)
New profile(v3)New profile(v3)
New profile(v3)
 
Interserve Retail &amp; Interiors Company Profile 2010
Interserve Retail &amp; Interiors Company Profile 2010Interserve Retail &amp; Interiors Company Profile 2010
Interserve Retail &amp; Interiors Company Profile 2010
 
A REAL BUSINESS FOR ALL
A REAL BUSINESS FOR ALL A REAL BUSINESS FOR ALL
A REAL BUSINESS FOR ALL
 
Attitude
AttitudeAttitude
Attitude
 
Heritage retail chain - company profile
Heritage retail chain - company profileHeritage retail chain - company profile
Heritage retail chain - company profile
 
Door Cruze Manufacturing Franchise Company profile
Door Cruze Manufacturing Franchise Company profileDoor Cruze Manufacturing Franchise Company profile
Door Cruze Manufacturing Franchise Company profile
 
Sabina Manufacturing Profile
Sabina Manufacturing ProfileSabina Manufacturing Profile
Sabina Manufacturing Profile
 
The indian dairy industry series 2 - dairy whitener
The indian dairy industry series 2 - dairy whitenerThe indian dairy industry series 2 - dairy whitener
The indian dairy industry series 2 - dairy whitener
 
Recycling paper iip
Recycling paper iipRecycling paper iip
Recycling paper iip
 
Green Supply Chain Management Practices_Abhijeet Ghadge
Green Supply Chain Management Practices_Abhijeet GhadgeGreen Supply Chain Management Practices_Abhijeet Ghadge
Green Supply Chain Management Practices_Abhijeet Ghadge
 
Module 6 Retail supply chain management
Module 6 Retail supply chain managementModule 6 Retail supply chain management
Module 6 Retail supply chain management
 
Paper recycling
Paper recyclingPaper recycling
Paper recycling
 
Green supply chain management
Green supply chain management Green supply chain management
Green supply chain management
 
Marketing h&m
Marketing h&mMarketing h&m
Marketing h&m
 
Recycling of paper and board
Recycling of paper and boardRecycling of paper and board
Recycling of paper and board
 
H&m project
H&m projectH&m project
H&m project
 
Supply Chain in Retail management
Supply Chain  in Retail managementSupply Chain  in Retail management
Supply Chain in Retail management
 
Group Layout (Manufacturing Management)
Group Layout (Manufacturing Management)Group Layout (Manufacturing Management)
Group Layout (Manufacturing Management)
 

Semelhante a Android na Prática

Conexao Java - Sua primeira app Android
Conexao Java - Sua primeira app AndroidConexao Java - Sua primeira app Android
Conexao Java - Sua primeira app AndroidSuelen Carvalho
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVCEder Magalhães
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Carlos Duarte do Nascimento
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineCampus Party Brasil
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Rodrigo Rocha
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOLgrupoweblovers
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Erisvaldo Junior
 
Criando plugins jQuery
Criando plugins jQueryCriando plugins jQuery
Criando plugins jQueryRicardo Coelho
 
HTTP, JSON, REST e AJAX com AngularJS
HTTP, JSON, REST e AJAX com AngularJSHTTP, JSON, REST e AJAX com AngularJS
HTTP, JSON, REST e AJAX com AngularJSRodrigo Branas
 
TDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal AppsTDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal AppsDiego Castro
 
Seminário sd android_exemplos
Seminário sd android_exemplosSeminário sd android_exemplos
Seminário sd android_exemplosCalvin Rodrigues
 
JQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBJQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBLuciano Borges
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dadosHenrique Fernandes
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Evento Front End SP - Organizando o Javascript
 Evento Front End SP - Organizando o Javascript Evento Front End SP - Organizando o Javascript
Evento Front End SP - Organizando o JavascriptMichel Ribeiro
 
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaChrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaJoselito Nascimento
 
Django: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutosDjango: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutosRodrigo Nossal
 

Semelhante a Android na Prática (20)

Conexao Java - Sua primeira app Android
Conexao Java - Sua primeira app AndroidConexao Java - Sua primeira app Android
Conexao Java - Sua primeira app Android
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVC
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App Engine
 
Android Para Iniciantes
Android Para IniciantesAndroid Para Iniciantes
Android Para Iniciantes
 
Google apps script - Parte 2
Google apps script - Parte 2Google apps script - Parte 2
Google apps script - Parte 2
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOL
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5
 
Criando plugins jQuery
Criando plugins jQueryCriando plugins jQuery
Criando plugins jQuery
 
HTTP, JSON, REST e AJAX com AngularJS
HTTP, JSON, REST e AJAX com AngularJSHTTP, JSON, REST e AJAX com AngularJS
HTTP, JSON, REST e AJAX com AngularJS
 
TDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal AppsTDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal Apps
 
Seminário sd android_exemplos
Seminário sd android_exemplosSeminário sd android_exemplos
Seminário sd android_exemplos
 
JQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBJQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEB
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dados
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Evento Front End SP - Organizando o Javascript
 Evento Front End SP - Organizando o Javascript Evento Front End SP - Organizando o Javascript
Evento Front End SP - Organizando o Javascript
 
Flutter do zero a publicacao
Flutter do zero a publicacaoFlutter do zero a publicacao
Flutter do zero a publicacao
 
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaChrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
 
Django: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutosDjango: Desenvolvendo uma aplicação web em minutos
Django: Desenvolvendo uma aplicação web em minutos
 

Mais de Ramon Ribeiro Rabello

Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeDeclarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeRamon Ribeiro Rabello
 
Android Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyondAndroid Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyondRamon Ribeiro Rabello
 
Create Modern Apps with Android Jetpack
Create Modern Apps with Android JetpackCreate Modern Apps with Android Jetpack
Create Modern Apps with Android JetpackRamon Ribeiro Rabello
 
Ninja Productivity in Android Studio
Ninja Productivity in Android StudioNinja Productivity in Android Studio
Ninja Productivity in Android StudioRamon Ribeiro Rabello
 
Produtividade ninja com android studio
Produtividade ninja com android studioProdutividade ninja com android studio
Produtividade ninja com android studioRamon Ribeiro Rabello
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Ramon Ribeiro Rabello
 
Os caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa PúblicaOs caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa PúblicaRamon Ribeiro Rabello
 
Making your app see with Mobile Vision API
Making your app see with Mobile Vision APIMaking your app see with Mobile Vision API
Making your app see with Mobile Vision APIRamon Ribeiro Rabello
 
Inovar em tempos de crise? Yes, We Can!
Inovar em tempos de crise?  Yes, We Can!Inovar em tempos de crise?  Yes, We Can!
Inovar em tempos de crise? Yes, We Can!Ramon Ribeiro Rabello
 
Android Wear: Estendendo sua app para relógios inteligentes
Android Wear: Estendendo sua app para relógios inteligentesAndroid Wear: Estendendo sua app para relógios inteligentes
Android Wear: Estendendo sua app para relógios inteligentesRamon Ribeiro Rabello
 
O caminho de um desenvolvedor android
O caminho de um desenvolvedor androidO caminho de um desenvolvedor android
O caminho de um desenvolvedor androidRamon Ribeiro Rabello
 
Workshop Android em Ambientes de Integração
Workshop Android em Ambientes de IntegraçãoWorkshop Android em Ambientes de Integração
Workshop Android em Ambientes de IntegraçãoRamon Ribeiro Rabello
 
De idealista à empreendedor - como desenvolver aplicações em android que conq...
De idealista à empreendedor - como desenvolver aplicações em android que conq...De idealista à empreendedor - como desenvolver aplicações em android que conq...
De idealista à empreendedor - como desenvolver aplicações em android que conq...Ramon Ribeiro Rabello
 

Mais de Ramon Ribeiro Rabello (20)

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

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