SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
SESTINFO 2011
Universidade Metodista de São Paulo


       Desenvolvimento na Plataforma
             Google Android
        Rafael                          Rodrigo
        Sakurai                       Cascarrolho




                                                    1
Agenda
•   Introdução ao Android, arquitetura e ambiente de desenvolvimento.
•   Activity
•   Intent e Intent Filter
•   View
•   Service
•   Broadcast Receiver
•   Content Provider
•   GPS e Mapas
•   Android Market




                                                                        2
O que é Android?
• Sistema Operacional
• Middleware
• Aplicativos
• Interface
• Android SDK
• Apache License,Version 2.0
• Open Source

                               3
Arquitetura




              4
Quem apoia Android?
• Open Handset Alliance
• Google Inc.




                          5
Alguns números
       •   100 milhões de dispositivos com Android.
       •   ~ 400 mil novas ativações de dispositivos com
           Android por dia.
       •   200 mil aplicações no Android Market.
       •   Mais de 320 dispositivos que utilizam Android.
       •   4.5 bilhões de aplicações baixadas do Android
           Market.
Números divulgados no Google IO 2011 - http://www.google.com/events/io/2011/index-live.html


                                                                                              6
Versões Android




 http://developer.android.com/resources/dashboard/platform-versions.html




                                                                           7
Versões Android
•   Curiosidade - o codenome das versões são nomes de doces:
•   1.5 - Cupcake
•   1.6 - Donut
•   2.1 - Eclair
•   2.2 - Froyo
•   2.3 - Gingerbread
•   3.0 - Honeycomb
•   3.1 - Ice-cream sandwich



                                                               8
Ambiente de
Desenvolvimento
•   Java Developer Kit (JDK) - www.oracle.com/
    technetwork/java/javase/downloads/index.html
•   Eclipse IDE for Java Developers -
    www.eclipse.org
•   Android SDK - http://developer.android.com/
    sdk/index.html
•   ADT Plugin for Eclipse - http://
    developer.android.com/sdk/eclipse-adt.html


                                                   9
Android SDK e AVD
Manager
• Clique no menu   ou no menu Window →
  Android SDK e AVD Manager.




                                         10
Emulador
• Iniciar emulador.
• Opções do emulador no Eclipse
• Enviar SMS




                                  11
Componentes de uma
aplicação no Android
• Activity
• Intent e Intent Filters
• Services
• Broadcast Receivers
• Content Provider

                            12
Activity
• Classe define qual a tela (View) irá
  representar e controla os eventos dela.
• Precisa ser uma classe filha de
  android.app.Activity.
• Deve implementar o método public
  void onCreate(Bundle
  savedInstanceState) {...} que
  inicializa os elementos da tela.


                                            13
Hello World++
•   Criando um projeto Android no Eclipse:
    •   No menu Arquivo selecione Novo → Outro → Android → Android
        Project.
    •   Defina os seguintes campos:
    •   Project Name: Sestinfo-HelloWorldPlus
    •   Informe onde deve ser salvo o projeto.
    •   Build Target: Google APIs - 2.1-update Level 7 ou Android 2.1-
        update1
    •   Application Name: SESTINFO 2011 - HelloWorldPlus
    •   Package name: br.metodista.sestinfo.helloworld
    •   Create Activity: HelloWorld
    •   Clique em Finalizar




                                                                         14
Hello World++
•   Estrutura do Projeto
    •   src - Código fonte do projeto.
    •   gen - R.java - constantes que permitem acessar
        os elementos da tela.
    •   res - Recursos
        •   drawable... - imagens de acordo com o
            tamanho da tela.
        •   layout - arquivos xml com o layout da tela.
        •   values - arquivo xml com todos os textos.
    •   AndroidManifest.xml - configuração do
        projeto.




                                                          15
Hello World++


• Layout gráfico
  do main.xml




                  16
Hello World++
       • Conteúdo inicial do arquivo 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"
    >
    <TextView android:layout_width="fill_parent" android:id="@+id/textView1"
android:text="@string/hello" android:layout_height="wrap_content"></TextView>
</LinearLayout>




                                                                                17
Hello World++
      • Adicionando mais componentes na tela:
<?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" android:gravity="center" >

<TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:text="@string/hello" android:gravity="center" />

<LinearLayout android:layout_height="100dip" android:gravity="bottom"
    android:id="@+id/linearLayout1" android:layout_width="fill_parent" />

<Button android:id="@+id/btnVer" android:layout_width="fill_parent"
    android:layout_height="70dip" android:text="@string/mostrar" />

<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:id="@+id/logoMeto" android:src="@drawable/logo_portal" />

</LinearLayout>


                                                                                      18
Hello World++
•   Edite o arquivo values/strings.xml com os
    seguintes valores:
    •   hello - Mini-cursonDesenvolvimento na
        plataforma Google Android
    •   appname - SestInfo 2011 - HelloWorldPlus
    •   mostrar - Mostrar mensagem...
    •   msg - Bem vindo à SESTINFO 2011
•   Adicione a imagem logo_portal.jpg na pasta
    drawable-mdpi.


                                                   19
Hello World++




                20
Hello World++
•    Adicionar a ação para o botão Mostrar mensagem...
package br.metodista.sestinfo.helloworld;

import   android.app.Activity;
import   android.os.Bundle;
import   android.view.View;
import   android.widget.Button;
import   android.widget.Toast;

public class HelloWorld extends Activity {
    private Button mostrar;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mostrar = (Button) findViewById(R.id.btnVer);
        mostrar.setOnClickListener(new View.OnClickListener() {
	    	    	    @Override
	    	    	    public void onClick(View v) {
	    	    	    	    Toast.makeText(getBaseContext(), R.string.msg, Toast.LENGTH_LONG).show();
	    	    	    }
	    	    });
    }
}
                                                                                                21
Hello World++
•   Para executar a aplicação, clique com o botão direito sobre
    o nome do projeto e escolha o item Run As →
    Android Application.




                                                                  22
Intent e Intent Filter
•   Intent é utilizando para enviar uma solicitação
    para o Android executar como por exemplo:
    •   Fazer uma ligação
    •   Enviar um SMS
    •   Abrir o browser
    •   Solicita a abertura de outra aplicação
•   Intent Filter é utilizado para mapear a ação de um
    Intent.


                                                         23
View
  • A View é a classe que representa os
       elementos da tela, onde cada elemento da
       tela é uma subclasse da classe View.
  • Todos os elementos da tela são escritos na
       forma de XML, exemplo:
<ImageView android:id="@+id/ImageView01" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:minHeight="80dip"
    android:minWidth="80dip" android:clickable="true"
	   android:visibility="visible" android:background="#00000000"
	   android:paddingLeft="20dip" android:paddingTop="20dip"
	   android:paddingRight="20dip" android:paddingBottom="20dip">
</ImageView>




                                                                               24
Elementos de Tela




                    25
Exemplo View




               26
Service
•   A classe Service é utilizada para criar um serviço
    que é executado em background.
•   O processamento e gerenciamento de memória de
    uma Service é controlada pelo sistema operacional.
•   Processos com tempo e duração indeterminado.
•   Processos que irão demorar mais que 10 segundos.
•   Como por exemplo: download e player de audio e
    video.



                                                         27
Service




          28
Usando o SD Card
•   Após iniciar o emulador, entre na visualização
    Window → Show View → Android → File
    Explorer.

                    Pegar um arquivo   Adicionar um arquivo
                     no dispositivo.      no dispositivo.




                                                              29
Broadcast Receiver
• A classe BroadcastReceiver é utilizada para
  executar as solicitações feitas pelos Intent.
• Ela também é executada em background
  para não atrapalhar os usuário, podendo por
  exemplo acionar uma Service.
• Não é recomendado abrir uma Activity ou
  qualquer iteração com o usuário.
• Com o BroadcastReceiver podemos criar
  uma aplicação que ao receber um SMS já
  emite um aviso e apresenta ele na tela.
                                                  30
Exemplo Broadcast
Receiver




                    31
Enviar SMS via plugin
do Eclipse
•   Utilizando o plugin do Eclipse é fácil enviar um SMS
    ou fazer uma chamada telefônica para o emulador.

•   Entre na visualização Window → Show View →
    Android → Emulator Control, digite um
    número de telefone qualquer, a mensagem SMS e
    clique em Send.




                                                           32
Content Provider
• A classe ContentProvider permite
  compartilhar informações para que qualquer
  outra aplicação possa utilizá-las.
• Por exemplo a aplicação do Facebook coloca
  a foto dos seus contatos de acordo com a
  foto que está no perfil do contato no
  Facebook.
• Disponibilizar seus percursos com o GPS
  para outra aplicação.

                                               33
GPS e Mapas

• Global Positioning System (GPS) permite
  você localizar a posição atual do seu
  aparelho no Globo Terrestre.
• Google Maps permite você utilizar os mapas
  disponibilizados pela Google para criação de
  aplicações.



                                                 34
Exemplo Mapas




                35
Exemplo GPS e Mapas




                      36
Mais recursos do
Android
•   Banco de Dados (SQLite)
•   HTTP
•   Web Services
•   Acelerômetro
•   Multimídia video e câmera
•   Efeitos de transição
•   E muito mais


                                37
Android Market




                 38
Android Market - Minha
Conta




                         39
Publicando uma aplicação
no Android Market
•   No site http://developer.android.com
•   Acesse a opção Publish.
•   Crie seu perfil de desenvolvedor.
•   Pague a taxa de registro (US$25,00) com cartão
    de credito.
•   Aceite os termos de contrato da Google.
•   Aplicações paga 70% para o desenvolvedor e 30%
    para a Google.


                                                     40
Publicando uma aplicação
no Android Market




                           41
Publicando uma aplicação
no Android Market




                           42
Referencias
•   [LECHETA, Ricardo R.] Google Android: Aprenda
    a criar aplicações para dispositivos móveis com o
    Android SDK, 2 ed. - Editora Novatec - 2010
•   [Lúcio Camilo, Michel Lourenço] Android para
    Desenvolvedores, Editora Brasport - 2009
•   Android Developers - http://
    developer.android.com/index.html
•   Android Market - http://market.android.com


                                                        43
Rodrigo Cascarrolho
                              rgdcasca@gmail.com
                              @rodrigocasca
                              www.rdgc.com.br


               Obrigado!

Rafael Sakurai
rafasakurai@gmail.com
@rafaelsakurai
www.universidadejava.com.br
                                                44

Mais conteúdo relacionado

Mais procurados

Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google Android
Salvador Torres
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
Natanael Fonseca
 

Mais procurados (20)

Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Capítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldCapítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorld
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Google android pdf
Google android pdfGoogle android pdf
Google android pdf
 
Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento Android
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de Android
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
 
Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google Android
 
Android Studio
Android StudioAndroid Studio
Android Studio
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Seminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidSeminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para Android
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
 
Como montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidComo montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento Android
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 

Destaque

Como aplicativos grátis para celulares ou tablets ganham dinheiro?
Como aplicativos grátis para celulares ou tablets ganham dinheiro?Como aplicativos grátis para celulares ou tablets ganham dinheiro?
Como aplicativos grátis para celulares ou tablets ganham dinheiro?
B2M Digital
 
Oficina de aplicativos
Oficina de aplicativosOficina de aplicativos
Oficina de aplicativos
cdimobilidade
 
Livro De Receitas Bolos E Tortas Vol 03
Livro De Receitas Bolos E Tortas Vol 03Livro De Receitas Bolos E Tortas Vol 03
Livro De Receitas Bolos E Tortas Vol 03
Bombokado Kado
 

Destaque (8)

Como aplicativos grátis para celulares ou tablets ganham dinheiro?
Como aplicativos grátis para celulares ou tablets ganham dinheiro?Como aplicativos grátis para celulares ou tablets ganham dinheiro?
Como aplicativos grátis para celulares ou tablets ganham dinheiro?
 
Introdução ao Desenvolvimento Móvel
Introdução ao Desenvolvimento MóvelIntrodução ao Desenvolvimento Móvel
Introdução ao Desenvolvimento Móvel
 
Google play 2.0
Google play 2.0Google play 2.0
Google play 2.0
 
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
 
Passo a Passo - Seekr Monitor, SAC e CRM
Passo a Passo - Seekr Monitor, SAC e CRMPasso a Passo - Seekr Monitor, SAC e CRM
Passo a Passo - Seekr Monitor, SAC e CRM
 
Oficina de aplicativos
Oficina de aplicativosOficina de aplicativos
Oficina de aplicativos
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Livro De Receitas Bolos E Tortas Vol 03
Livro De Receitas Bolos E Tortas Vol 03Livro De Receitas Bolos E Tortas Vol 03
Livro De Receitas Bolos E Tortas Vol 03
 

Semelhante a Apresentação Google Android

Android Palestra
Android PalestraAndroid Palestra
Android Palestra
Renato
 
Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013
guisester
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
Ronildo Oliveira
 

Semelhante a Apresentação Google Android (20)

Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Empreendedori$mo com Android
Empreendedori$mo com AndroidEmpreendedori$mo com Android
Empreendedori$mo com Android
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em Java
 
Curso de android
Curso de androidCurso de android
Curso de android
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 
Android
AndroidAndroid
Android
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno Cotta
 
Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
Phonegap - Framework Mobile
Phonegap - Framework MobilePhonegap - Framework Mobile
Phonegap - Framework Mobile
 
Phonegap
PhonegapPhonegap
Phonegap
 
Android Developing
Android DevelopingAndroid Developing
Android Developing
 
Conhecendo android
Conhecendo androidConhecendo android
Conhecendo android
 
Aula02 android hands_on
Aula02 android hands_onAula02 android hands_on
Aula02 android hands_on
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 

Mais de Rodrigo Cascarrolho

PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5
Rodrigo Cascarrolho
 

Mais de Rodrigo Cascarrolho (9)

TI Colégio Lumière 2018
TI Colégio Lumière 2018TI Colégio Lumière 2018
TI Colégio Lumière 2018
 
Carreira em Tecnologia da Informação
Carreira em Tecnologia da InformaçãoCarreira em Tecnologia da Informação
Carreira em Tecnologia da Informação
 
Arquitetura Microsserviços - Semana facet 2015
Arquitetura Microsserviços - Semana facet 2015Arquitetura Microsserviços - Semana facet 2015
Arquitetura Microsserviços - Semana facet 2015
 
Scrum em 15 minutos
Scrum em 15 minutosScrum em 15 minutos
Scrum em 15 minutos
 
PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5
 
Html5- Novidades, adoção e mobile.
Html5- Novidades, adoção e mobile.Html5- Novidades, adoção e mobile.
Html5- Novidades, adoção e mobile.
 
Equals, Hashcode, ToString, Comparable e Comparator
Equals, Hashcode, ToString, Comparable e ComparatorEquals, Hashcode, ToString, Comparable e Comparator
Equals, Hashcode, ToString, Comparable e Comparator
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
JPA - Java Persistence API
JPA - Java Persistence APIJPA - Java Persistence API
JPA - Java Persistence API
 

Último

Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Dirceu Resende
 

Último (6)

From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
 
Certificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdfCertificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdf
 
Apresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdfApresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdf
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 

Apresentação Google Android

  • 1. SESTINFO 2011 Universidade Metodista de São Paulo Desenvolvimento na Plataforma Google Android Rafael Rodrigo Sakurai Cascarrolho 1
  • 2. Agenda • Introdução ao Android, arquitetura e ambiente de desenvolvimento. • Activity • Intent e Intent Filter • View • Service • Broadcast Receiver • Content Provider • GPS e Mapas • Android Market 2
  • 3. O que é Android? • Sistema Operacional • Middleware • Aplicativos • Interface • Android SDK • Apache License,Version 2.0 • Open Source 3
  • 5. Quem apoia Android? • Open Handset Alliance • Google Inc. 5
  • 6. Alguns números • 100 milhões de dispositivos com Android. • ~ 400 mil novas ativações de dispositivos com Android por dia. • 200 mil aplicações no Android Market. • Mais de 320 dispositivos que utilizam Android. • 4.5 bilhões de aplicações baixadas do Android Market. Números divulgados no Google IO 2011 - http://www.google.com/events/io/2011/index-live.html 6
  • 8. Versões Android • Curiosidade - o codenome das versões são nomes de doces: • 1.5 - Cupcake • 1.6 - Donut • 2.1 - Eclair • 2.2 - Froyo • 2.3 - Gingerbread • 3.0 - Honeycomb • 3.1 - Ice-cream sandwich 8
  • 9. Ambiente de Desenvolvimento • Java Developer Kit (JDK) - www.oracle.com/ technetwork/java/javase/downloads/index.html • Eclipse IDE for Java Developers - www.eclipse.org • Android SDK - http://developer.android.com/ sdk/index.html • ADT Plugin for Eclipse - http:// developer.android.com/sdk/eclipse-adt.html 9
  • 10. Android SDK e AVD Manager • Clique no menu ou no menu Window → Android SDK e AVD Manager. 10
  • 11. Emulador • Iniciar emulador. • Opções do emulador no Eclipse • Enviar SMS 11
  • 12. Componentes de uma aplicação no Android • Activity • Intent e Intent Filters • Services • Broadcast Receivers • Content Provider 12
  • 13. Activity • Classe define qual a tela (View) irá representar e controla os eventos dela. • Precisa ser uma classe filha de android.app.Activity. • Deve implementar o método public void onCreate(Bundle savedInstanceState) {...} que inicializa os elementos da tela. 13
  • 14. Hello World++ • Criando um projeto Android no Eclipse: • No menu Arquivo selecione Novo → Outro → Android → Android Project. • Defina os seguintes campos: • Project Name: Sestinfo-HelloWorldPlus • Informe onde deve ser salvo o projeto. • Build Target: Google APIs - 2.1-update Level 7 ou Android 2.1- update1 • Application Name: SESTINFO 2011 - HelloWorldPlus • Package name: br.metodista.sestinfo.helloworld • Create Activity: HelloWorld • Clique em Finalizar 14
  • 15. Hello World++ • Estrutura do Projeto • src - Código fonte do projeto. • gen - R.java - constantes que permitem acessar os elementos da tela. • res - Recursos • drawable... - imagens de acordo com o tamanho da tela. • layout - arquivos xml com o layout da tela. • values - arquivo xml com todos os textos. • AndroidManifest.xml - configuração do projeto. 15
  • 16. Hello World++ • Layout gráfico do main.xml 16
  • 17. Hello World++ • Conteúdo inicial do arquivo 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" > <TextView android:layout_width="fill_parent" android:id="@+id/textView1" android:text="@string/hello" android:layout_height="wrap_content"></TextView> </LinearLayout> 17
  • 18. Hello World++ • Adicionando mais componentes na tela: <?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" android:gravity="center" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:gravity="center" /> <LinearLayout android:layout_height="100dip" android:gravity="bottom" android:id="@+id/linearLayout1" android:layout_width="fill_parent" /> <Button android:id="@+id/btnVer" android:layout_width="fill_parent" android:layout_height="70dip" android:text="@string/mostrar" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/logoMeto" android:src="@drawable/logo_portal" /> </LinearLayout> 18
  • 19. Hello World++ • Edite o arquivo values/strings.xml com os seguintes valores: • hello - Mini-cursonDesenvolvimento na plataforma Google Android • appname - SestInfo 2011 - HelloWorldPlus • mostrar - Mostrar mensagem... • msg - Bem vindo à SESTINFO 2011 • Adicione a imagem logo_portal.jpg na pasta drawable-mdpi. 19
  • 21. Hello World++ • Adicionar a ação para o botão Mostrar mensagem... package br.metodista.sestinfo.helloworld; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class HelloWorld extends Activity { private Button mostrar; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mostrar = (Button) findViewById(R.id.btnVer); mostrar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getBaseContext(), R.string.msg, Toast.LENGTH_LONG).show(); } }); } } 21
  • 22. Hello World++ • Para executar a aplicação, clique com o botão direito sobre o nome do projeto e escolha o item Run As → Android Application. 22
  • 23. Intent e Intent Filter • Intent é utilizando para enviar uma solicitação para o Android executar como por exemplo: • Fazer uma ligação • Enviar um SMS • Abrir o browser • Solicita a abertura de outra aplicação • Intent Filter é utilizado para mapear a ação de um Intent. 23
  • 24. View • A View é a classe que representa os elementos da tela, onde cada elemento da tela é uma subclasse da classe View. • Todos os elementos da tela são escritos na forma de XML, exemplo: <ImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minHeight="80dip" android:minWidth="80dip" android:clickable="true" android:visibility="visible" android:background="#00000000" android:paddingLeft="20dip" android:paddingTop="20dip" android:paddingRight="20dip" android:paddingBottom="20dip"> </ImageView> 24
  • 27. Service • A classe Service é utilizada para criar um serviço que é executado em background. • O processamento e gerenciamento de memória de uma Service é controlada pelo sistema operacional. • Processos com tempo e duração indeterminado. • Processos que irão demorar mais que 10 segundos. • Como por exemplo: download e player de audio e video. 27
  • 28. Service 28
  • 29. Usando o SD Card • Após iniciar o emulador, entre na visualização Window → Show View → Android → File Explorer. Pegar um arquivo Adicionar um arquivo no dispositivo. no dispositivo. 29
  • 30. Broadcast Receiver • A classe BroadcastReceiver é utilizada para executar as solicitações feitas pelos Intent. • Ela também é executada em background para não atrapalhar os usuário, podendo por exemplo acionar uma Service. • Não é recomendado abrir uma Activity ou qualquer iteração com o usuário. • Com o BroadcastReceiver podemos criar uma aplicação que ao receber um SMS já emite um aviso e apresenta ele na tela. 30
  • 32. Enviar SMS via plugin do Eclipse • Utilizando o plugin do Eclipse é fácil enviar um SMS ou fazer uma chamada telefônica para o emulador. • Entre na visualização Window → Show View → Android → Emulator Control, digite um número de telefone qualquer, a mensagem SMS e clique em Send. 32
  • 33. Content Provider • A classe ContentProvider permite compartilhar informações para que qualquer outra aplicação possa utilizá-las. • Por exemplo a aplicação do Facebook coloca a foto dos seus contatos de acordo com a foto que está no perfil do contato no Facebook. • Disponibilizar seus percursos com o GPS para outra aplicação. 33
  • 34. GPS e Mapas • Global Positioning System (GPS) permite você localizar a posição atual do seu aparelho no Globo Terrestre. • Google Maps permite você utilizar os mapas disponibilizados pela Google para criação de aplicações. 34
  • 36. Exemplo GPS e Mapas 36
  • 37. Mais recursos do Android • Banco de Dados (SQLite) • HTTP • Web Services • Acelerômetro • Multimídia video e câmera • Efeitos de transição • E muito mais 37
  • 39. Android Market - Minha Conta 39
  • 40. Publicando uma aplicação no Android Market • No site http://developer.android.com • Acesse a opção Publish. • Crie seu perfil de desenvolvedor. • Pague a taxa de registro (US$25,00) com cartão de credito. • Aceite os termos de contrato da Google. • Aplicações paga 70% para o desenvolvedor e 30% para a Google. 40
  • 41. Publicando uma aplicação no Android Market 41
  • 42. Publicando uma aplicação no Android Market 42
  • 43. Referencias • [LECHETA, Ricardo R.] Google Android: Aprenda a criar aplicações para dispositivos móveis com o Android SDK, 2 ed. - Editora Novatec - 2010 • [Lúcio Camilo, Michel Lourenço] Android para Desenvolvedores, Editora Brasport - 2009 • Android Developers - http:// developer.android.com/index.html • Android Market - http://market.android.com 43
  • 44. Rodrigo Cascarrolho rgdcasca@gmail.com @rodrigocasca www.rdgc.com.br Obrigado! Rafael Sakurai rafasakurai@gmail.com @rafaelsakurai www.universidadejava.com.br 44