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

Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Luiz Gavinho
 
Introdução ao PhoneGap e Sencha Touch
Introdução ao PhoneGap e Sencha TouchIntrodução ao PhoneGap e Sencha Touch
Introdução ao PhoneGap e Sencha TouchRafael Neri
 
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...Cássio Nandi Citadin
 
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao PhonegapLoiane Groner
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Wennder Santos
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Wennder Santos
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapAplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapThiago Colares
 
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/CordovaAbra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/CordovaGustavo Costa
 
Minicurso de Desenvolvimento Híbrido utilizando Ionic Framework
Minicurso de Desenvolvimento Híbrido utilizando Ionic FrameworkMinicurso de Desenvolvimento Híbrido utilizando Ionic Framework
Minicurso de Desenvolvimento Híbrido utilizando Ionic FrameworkCristian Dean
 
Desenvolvimento Mobile com Ionic
Desenvolvimento Mobile com IonicDesenvolvimento Mobile com Ionic
Desenvolvimento Mobile com IonicFelipe Renan Vieira
 
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchLeonardo Soares
 
Mini curso - Ionic Framework
Mini curso - Ionic FrameworkMini curso - Ionic Framework
Mini curso - Ionic Frameworkjuniorschroder
 
Descomplicando o Mobile com Ionic Framework
Descomplicando o Mobile com Ionic FrameworkDescomplicando o Mobile com Ionic Framework
Descomplicando o Mobile com Ionic FrameworkYan Borowski Machado
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressRômulo Zoch
 
Desmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbridoDesmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbridoWilliam Ribeiro da Silva
 

Mais procurados (20)

Phonegap
PhonegapPhonegap
Phonegap
 
Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!Phonegap, muito além dos nativos!
Phonegap, muito além dos nativos!
 
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
 
Introdução ao PhoneGap e Sencha Touch
Introdução ao PhoneGap e Sencha TouchIntrodução ao PhoneGap e Sencha Touch
Introdução ao PhoneGap e Sencha Touch
 
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
 
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapAplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
 
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/CordovaAbra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
 
Workshop - Ionic + firebase
Workshop - Ionic + firebaseWorkshop - Ionic + firebase
Workshop - Ionic + firebase
 
Minicurso de Desenvolvimento Híbrido utilizando Ionic Framework
Minicurso de Desenvolvimento Híbrido utilizando Ionic FrameworkMinicurso de Desenvolvimento Híbrido utilizando Ionic Framework
Minicurso de Desenvolvimento Híbrido utilizando Ionic Framework
 
Desenvolvimento Mobile com Ionic
Desenvolvimento Mobile com IonicDesenvolvimento Mobile com Ionic
Desenvolvimento Mobile com Ionic
 
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
 
Mini curso - Ionic Framework
Mini curso - Ionic FrameworkMini curso - Ionic Framework
Mini curso - Ionic Framework
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Descomplicando o Mobile com Ionic Framework
Descomplicando o Mobile com Ionic FrameworkDescomplicando o Mobile com Ionic Framework
Descomplicando o Mobile com Ionic Framework
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPress
 
Desmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbridoDesmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbrido
 
Introdução intel XDK
Introdução intel XDKIntrodução intel XDK
Introdução intel XDK
 

Semelhante a Android dev guide

Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma AndroidÉdipo Souza
 
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 androidMessias Batista
 
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 JavaWaldir R. Pires Jr
 
Curso de android
Curso de androidCurso de android
Curso de androidflaviokreis
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android NooclixIury Teixeira
 
Android Palestra
Android PalestraAndroid Palestra
Android PalestraRenato
 
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 CottaGPrimola
 
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.2013guisester
 
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 Androidguisester
 
Phonegap - Framework Mobile
Phonegap - Framework MobilePhonegap - Framework Mobile
Phonegap - Framework MobileIldyone Martins
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para AndroidClaudio Pereira
 
Aula02 android hands_on
Aula02 android hands_onAula02 android hands_on
Aula02 android hands_onRoberson Alves
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo 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...Elmano Cavalcanti
 

Semelhante a Android dev guide (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
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Android Developing
Android DevelopingAndroid Developing
Android Developing
 
Conhecendo android
Conhecendo androidConhecendo android
Conhecendo android
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
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...
 

Último

PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 

Último (20)

PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 

Android dev guide

  • 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