SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Similar 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
 

Similar 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

QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 

Último (20)

QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 

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