You are on page 1of 44

SESTINFO 2011 Universidade Metodista de So Paulo

Desenvolvimento na Plataforma Google Android


Rafael Sakurai Rodrigo Cascarrolho

Agenda

Introduo ao Android, arquitetura e ambiente de desenvolvimento. Activity Intent e Intent Filter View Service Broadcast Receiver Content Provider GPS e Mapas Android Market

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

Arquitetura

Quem apoia Android?


Open Handset Alliance Google Inc.

Alguns nmeros

100 milhes de dispositivos com Android. ~ 400 mil novas ativaes de dispositivos com Android por dia. 200 mil aplicaes no Android Market. Mais de 320 dispositivos que utilizam Android. 4.5 bilhes de aplicaes baixadas do Android Market.

Nmeros divulgados no Google IO 2011 - http://www.google.com/events/io/2011/index-live.html

Verses Android

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

Verses Android

Curiosidade - o codenome das verses so 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

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

Android SDK e AVD Manager


Clique no menu
ou no menu Window ! Android SDK e AVD Manager.

10

Emulador
Iniciar emulador. Opes do emulador no Eclipse Enviar SMS

11

Componentes de uma aplicao no Android


Activity Intent e Intent Filters Services Broadcast Receivers Content Provider
12

Activity
Classe dene qual a tela (View) ir Precisa ser uma classe lha de
android.app.Activity. void onCreate(Bundle savedInstanceState) {...} que inicializa os elementos da tela. representar e controla os eventos dela.

Deve implementar o mtodo public

13

Hello World++

Criando um projeto Android no Eclipse:

No menu Arquivo selecione Novo ! Outro ! Android ! Android Project. Dena 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.1update1 Application Name: SESTINFO 2011 - HelloWorldPlus Package name: br.metodista.sestinfo.helloworld Create Activity: HelloWorld Clique em Finalizar

14

Hello World++

Estrutura do Projeto

src - Cdigo 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 - congurao do projeto.

15

Hello World++

Layout grco
do main.xml

16

Hello World++
Contedo 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-curso\nDesenvolvimento 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 ao para o boto Mostrar mensagem...


android.app.Activity; android.os.Bundle; android.view.View; android.widget.Button; android.widget.Toast; package br.metodista.sestinfo.helloworld; import import import import import

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 aplicao, clique com o boto direito sobre o nome do projeto e escolha o item Run As ! Android Application.

22

Intent e Intent Filter

Intent utilizando para enviar uma solicitao para o Android executar como por exemplo:

Fazer uma ligao Enviar um SMS Abrir o browser Solicita a abertura de outra aplicao

Intent Filter utilizado para mapear a ao de um Intent.

23

View
A View a classe que representa os
forma de XML, exemplo: elementos da tela, onde cada elemento da tela uma subclasse da classe View.

Todos os elementos da tela so escritos na


<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 servio que executado em background. O processamento e gerenciamento de memria de uma Service controlada pelo sistema operacional. Processos com tempo e durao indeterminado. Processos que iro demorar mais que 10 segundos. Como por exemplo: download e player de audio e video.

27

Service

28

Usando o SD Card

Aps iniciar o emulador, entre na visualizao Window ! Show View ! Android ! File Explorer.
Pegar um arquivo no dispositivo. Adicionar um arquivo no dispositivo.

29

Broadcast Receiver
A classe BroadcastReceiver utilizada para
executar as solicitaes feitas pelos Intent.

Ela tambm executada em background


qualquer iterao com o usurio.

para no atrapalhar os usurio, podendo por exemplo acionar uma Service.

No recomendado abrir uma Activity ou Com o BroadcastReceiver podemos criar


uma aplicao 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 fcil enviar um SMS ou fazer uma chamada telefnica para o emulador. Entre na visualizao Window ! Show View ! Android ! Emulator Control, digite um nmero de telefone qualquer, a mensagem SMS e clique em Send.

32

Content Provider
A classe ContentProvider permite
compartilhar informaes para que qualquer outra aplicao possa utiliz-las. a foto dos seus contatos de acordo com a foto que est no perl do contato no Facebook. para outra aplicao.

Por exemplo a aplicao do Facebook coloca Disponibilizar seus percursos com o GPS
33

GPS e Mapas
Global Positioning System (GPS) permite
voc localizar a posio atual do seu aparelho no Globo Terrestre.

Google Maps permite voc utilizar os mapas

disponibilizados pela Google para criao de aplicaes.

34

Exemplo Mapas

35

Exemplo GPS e Mapas

36

Mais recursos do Android



Banco de Dados (SQLite) HTTP Web Services Acelermetro Multimdia video e cmera Efeitos de transio E muito mais

37

Android Market

38

Android Market - Minha Conta

39

Publicando uma aplicao no Android Market



No site http://developer.android.com Acesse a opo Publish. Crie seu perl de desenvolvedor. Pague a taxa de registro (US$25,00) com carto de credito. Aceite os termos de contrato da Google. Aplicaes paga 70% para o desenvolvedor e 30% para a Google.

40

Publicando uma aplicao no Android Market

41

Publicando uma aplicao no Android Market

42

Referencias

[LECHETA, Ricardo R.] Google Android: Aprenda a criar aplicaes para dispositivos mveis com o Android SDK, 2 ed. - Editora Novatec - 2010 [Lcio Camilo, Michel Loureno] 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

You might also like