Académique Documents
Professionnel Documents
Culture Documents
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
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.
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
10
Emulador
Iniciar emulador. Opes do emulador no Eclipse Enviar SMS
11
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.
13
Hello World++
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.
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++
hello - Mini-curso\nDesenvolvimento na plataforma Google Android appname - SestInfo 2011 - HelloWorldPlus mostrar - Mostrar mensagem... msg - Bem vindo SESTINFO 2011
19
Hello World++
20
Hello World++
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 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
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.
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.
31
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.
34
Exemplo Mapas
35
36
37
Android Market
38
39
40
41
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
Obrigado!
Rafael Sakurai rafasakurai@gmail.com @rafaelsakurai www.universidadejava.com.br
44