Você está na página 1de 141

COMPUTAO MVEL

O que computao Mvel


Acesso informao a qualquer lugar, a
qualquer momento.

O que computao Mvel


Tecnicamente:
Processamento
Mobilidade

Comunicao sem fio

Dispositivos mveis
O tamanho importante

Dispositivos

Outros Dispositivos

Caractersticas comuns
Interface limitada
Processamento
Comunicao

Energia

Limitaes

Limitaes

Limitaes
Largura de banda

Taxa de erros

Energia

Infra-estrutura

Infra-estrutura

Diversas Tecnologias

COMPUTAO UBQUA

O que Computao
Ubqua?

Ubquo

adjetivo
1 que est ou existe ao mesmo tempo em toda
parte; onipresente
2 que se difundiu extensamente; geral, universal

A ideia bsica da computao ubqua que a


computao move-se para fora das estaes de
trabalho e computadores pessoais e torna-se
pervasiva na nossa vida quotidiana aonde quer que
estejamos.
Computao Mvel + Computao Pervasiva

Tendncia da Computao

Origem da Computao
Ubqua
Idealizada por Mark Weiser que imaginou
ambientes impregnados de computao,
nos quais os dispositivos esto totalmente
adaptados ao cotidiano.

Ambientes: espaos fsicos quaisquer


salas de aula, escritrios, edifcios.

Principais caractersticas da
Computao Ubqua

Diversidade

Descentralizao

Conectividade

Onipresena

Mudana na relao homem mquina


(o papel do homem passa a ser mais passivo

x
computador deixa de ser o foco das atenes)

Calm Technology

a integrao tranqila e at imperceptvel (computao


invisvel)

Tecnologias envolvidas
Hardware

dispositivos de redes e de computao mvel

Software

sistemas distribudos e ferramentas de


desenvolvimento

Modelagem de contexto

sensoriamento e processamento de imagens

Interao

interfaces hands-free e adaptao de interfaces a


dispositivos de hardware

Aplicaes

projeto de novas aplicaes e aspectos sociais da


computao ubqua

Tecnologias envolvidas
Computao Mvel

Dispositivos pequenos: podem ser facilmente


carregados, enquanto o usurio se movimenta
livremente.

Computadores mveis: computadores pequenos;


proviso e gerenciamento de energia eltrica;
interfaces amigveis, mas adaptadas ao tamanho do
dispositivo; criao de novos dispositivos de interface
Computadores Wearable: projetados para o uso
sem necessidade das mos, podendo usar sensores
(cmeras e microfones), e formas convenientes de
teclados
Conexo Wireless: conexo wireless contnua
rede, mantendo o servio funcionando mesmo os
dispositivos em movimento

Tecnologias envolvidas
Computao Pervasiva

Dispositivos operam a distncia: o usurio no


precisa estar fisicamente prximo a eles

Interfaces Hands-Free: reconhecimento de voz,


liveboards, e outras interfaces, que juntas permitem
que o usurio interaja, mesmo fisicamente distante
dos dispositivos.
Conscincia de Contexto: sensores que detectam o
que est acontecendo e o que as pessoas esto
fazendo no ambiente de forma geral. Informao
representada de algum modo e disponibilizada para
consulta por aplicativos, que tm uma idia de o que
est acontecendo ao redor do usurio.
Ambiente Inteligente: comportamentos
automticos ativados por determinados
acontecimentos, sem nenhuma instruo explcita do
usurio - Computao Invisvel

Tecnologias envolvidas
Computao Ubqua

Computao Mvel + Computao Pervasiva

Computao Desagregada: reconfigurao dinmica dos


dispositivos de interface. Exemplo: a possibilidade de fazer
sua apresentao mover-se para qualquer tela da sala. O
"computador" um grupo de diversos dispositivos
conectados, que esto na verdade unidos a diferentes
computadores na rede.
Computao Sensvel a Posio: interao com os
computadores muda, enquanto as pessoas se movem.
Exemplo: guia automtico de excurso em um museu;
automaticamente mover seu desktop para o display mais
prximo, enquanto voc anda pela sala.
Realidade Aumentada: computadores wearables so
combinados com a informao dos sensores de posio, a
informao relevante ao usurio pode ser sobreposta a sua
viso do mundo, vista atravs de um head-mounted display.
Interfaces Sensveis a Objetos: associar objetos fsicos a
alguma informao. Exemplo: associar um objeto
webpage de seu fabricante.

Computao Ubqua e
Sistemas Operacionais
Grande variedade de dispositivos
computacionais gera necessidade da
criao de SOs especficos para cada
dispositivo
A especializao do dispositivo um dos
aspectos que determina o projeto do sistema
operacional do dispositivo

Exemplos de SO:
Palm OS (PDA), EPOC (celular), Java Card e
W/Smart Card para Smart Cards, QXN,
VxWorks etc

Desafios da Computao
Ubqua
Privacidade

A proliferao de sensores e modelos de contexto ir


armazenar grandes quantidades de informao a
respeito das atividades dos usurios

Complexidade

Quanto mais coisas acontecem automaticamente,


mais confuso o sistema pode tornar-se para o usurio

Expansibilidade

Sistemas de computao ubqua sero feitos de


muitas partes de hardware e de software, de muitas
procedncias

Segurana

Se tudo est conectado, como prevenir e limitar


ataques de programas ou hardware no-autorizados?

Desafios da Computao
Ubqua
Custo

A quantidade de dispositivos computacionais e


grande e consome energia.

Complexidade

Quanto mais coisas acontecem automaticamente,


mais confuso o sistema pode tornar-se para o
usurio

Expansibilidade e Interoperabilidade

Sistemas de computao ubqua sero feitos de


muitas partes de hardware e de software, de
muitas procedncias

Tolerncia a falhas

Mobilidade

Introduo
Atualmente, a Computao Mvel vem
surgindo como um novo paradigma
computacional.
As redes que suportam a computao
mvel so as Redes Mveis, que trazem
novos
requisitos
e
desafios
no
encontrados em redes de computadores
tradicionais.

Introduo (cont.)
A Mobilidade a principal caracterstica das
Redes Mveis. Ela traz problemas e desafios
que at ento, no vamos, ou ignorvamos
em ambientes fixos.
A mobilidade
problemas:

impe

requisitos

gera

roteamento;

velocidade do canal;

interferncias do ambiente;

localizao da estao mvel;

durao da energia da bateria da estao parada e em


movimento;

entre outros.

Portabilidade
a capacidade de um terminal mvel
operar a partir de diferentes pontos de
conexo, mas perde o contato durante o
tempo de mudana do ponto de acesso.

ao se mover, as conexes so encerradas e


reinicializadas no novo ponto de conexo. Ex:
WLANs (IEEE 802.11).

Mobilidade
a capacidade de um terminal mvel
continuar em contato contnuo com os
recursos da rede.

nem o sistema, nem as aplicaes precisam ser


encerrados e reinicializados;

modo de acesso a rede: interface sem-fio ;


redes mveis.

Redes Mveis
So redes de computadores
possuem ns mveis:

sem

Redes Infra-Estruturadas:

Rede de telefonia celular;


Wireless LANs (IEEE 802.11, HIPERLAN);
Wireless ATM;
Redes via satlite.

Redes Sem Infra-Estrutura:

Redes
WPAN
Redes
Redes

Mveis Ad-hoc (MANET);


IEEE802.15(Bluetooth);
de Sensores;
Tolerantes a Atraso (DTN)

fio

que

Estrutura das Redes Mveis


Parte
Fixa
tradicionais):

(redes

de

computadores

ERB- Estao Rdio Base;

ESM - Estao de suporte mobilidade;

Estaes Fixas (servidores, roteadores).

Parte Mvel (equipamentos mveis):

Estaes Mveis
sensores).

(notebook,

celular,

palmtop,

PDA,

Existem pesquisas propondo redes totalmente


mveis:

Ex : Rede Mvel Ad hoc.

Problemas em Redes Mveis

Mobilidade do usurio;

Instabilidade (variao das condies do canal de


comunicao sem fio);

Baixa largura de banda (bandwidth);

Alta taxa de erros (10-5 bits errados);

Gerenciamento
estao mvel;

Suporte QoS;

Segurana.

do

consumo

de

energia

da

Redes Mveis Ad hoc

So redes, onde os dispositivos computacionais trocam


informaes diretamente entre si.

IETF criou grupo de trabalho em MANET (Mobile Adhoc NETwork) - RFC 2501, RFC .

Indicadas para situaes


onde no se pode, ou no
faz sentido, instalar uma
rede fixa.

Vantagens
Rpida instalao:
Excelente para cenrios de desastre,
campos de batalha ou conferncias onde
no existe uma estrutura prvia ou esta
no est disponvel.

Tolerncia falhas:
Vrios caminhos podem ser criados.

Vantagens
Conectividade:
Os ns dentro da rea de alcance podem
trocar informaes diretamente.

Desvantagens e dificuldades
Localizao:

Encontrar o n mvel.

Movimentao dos ns:

Ns no necessariamente seguem algum padro


de movimentao.

Desligamento sem aviso dos ns:

O n pode passar por perodos sem contato com


a rede, ou mesmo desligados, e reaparecer em
algum lugar imprevisto.

Desvantagens e dificuldades
Qualidade do canal:

Canal sujeito a variaes na qualidade.

Baixa banda passante.


Consumo de energia:

Trfego de mensagens que no dizem respeito


diretamente ao n.

Ns de capacidades
diferentes.

caractersticas

Aplicaes

Fins militares;

Cenrios de catstrofes:

Furaces;

Terremotos;

Enchentes.

Busca e salvamento;

Conferncias;

Controle de trfego;

Qualquer outro cenrio de troca de informaes direta


entre ns mveis que possa ser imaginado.

Diferentes pontos de vista


Comunidade Militar:

Redes pequenas;

Mensagens pequenas, normalmente de controle;

Principal problema encontrar os ns de forma


eficiente e no menor espao de tempo possvel;

No tem muita preocupao com a eficincia da


rede ou com economia de energia.

Diferentes pontos de vista


Comunidade Internet:

Redes grandes;

Mensagens grandes;

Grande fluxo;

Atraso, em alguns casos, no um grande


problema;

Principais
energia;

Capacidade da implementao
caminhos (Multipath);

pontos:

eficincia

economia
de

de

mltiplos

PLATAFORMA MVEL DIGITAL


EMERGENTE
Tipos de tecnologias mobile - tablets,
smartphones, etc. e seus impactos.

Voc j teve um desses!


Celular

PDA (Assistente Pessoal


Digital)

Voc tem um desses


Uma
definio
bastante
comum para smartphone
telefone
celular
com
capacidade de PDA;
Na poca do seu surgimento,
a principal diferenciao em
relao aos celulares era a
possibilidade de acessar a
internet (envio de e-mails);

Atualmente, os smartphones
so reprodutores de mp3,
cmeras, entre outros.

BlackBerry Bold
9900

Histria
A Research in Motion (RIM) foi fundada em
1984 o primeiro BlackBerry chegou ao
mercado em 1999;

O produto era distribudo para executivos


em grandes eventos e o uso era gratuito
por um dia. Os executivos gostavam e
acabavam adquirindo o aparelho;
A ideia inicial do BlackBerry foi substituir o
Palm fazia tudo que a tecnologia PDA
oferecia, porm, contava com uma
novidade: a tecnologia push.

Histria

No h consenso sobre
qual
foi
o
primeiro
smartphone
fabricado,
porm, o iPhone foi o
primeiro smartphone a ser
um sucesso de vendas;

Nmeros
Crescimento das vendas de Smartphones (2011)
Mundo

61% (mdia)

Brasil

179%

A venda de
smartphones
representa
7,5% da
venda total
de celulares

Queda de
33% no
preo mdio
dos
aparelhos

Cloud Computing
Pode ser considerado
como uma evoluo
da tecnologia push:
possvel acessar seus
dados (e no apenas
e-mails ou contatos)
de todos os tipos de
hardwares que uma
pessoa possui;
Dropbox, iCloud,
Google Docs, LogMe
In,

Tendncias (MWC 2012)


Processadores quad-core
Grandes telas HD
NFC (comunicao por proximidade)
4G (LTE)
Reduo de preos
Sony Xperia P

Nokia Lumia 900

LG Optimus Vu

Caso Prtico - HTC


Demanda por smartphones deve chegar a
70%;

Concorrencia nos softwares Android


(Google) X Windows Phone (Microsoft);
Crescimento da demanda troca dos
aparelhos antigos por mais modernos;

Mobilidade
Crescimento da demanda 134%;
Fabricantes retomam mercado
europeus e americanos X asiaticos;
24,5% do mercado Motorola

16% do mercado

16% do mercado

Segurana
Smartphone no esto alheios a
problemas de segurana e vrus
Estamos ainda em uma poca de
adaptao, onde as pessoas no so to
desconfiadas como perante um
computador
Nume, da empresa CTS, um hardware de
encriptao, cuja incumbncia
impossibilitar a intercepo das
comunicaes procedentes de telefones
smartphones, tablets e computadores.

Desenvolvimento de aplicativos
para dispositivos mveis
usando Android

Plataforma Android
Ambiente de software para dispositivos mveis

No uma plataforma de hardware

Inclui

Sistema operacional baseado em kernel de Linux

UI rica

Aplicaes de usurio

Bibliotecas de cdigo

Frameworks de aplicao

Suporte a multimdia

Funcionalidades de telefonia

etc

Introduo a Android
Plataforma de software
Esforo principal da Google

Colaborao com a Open Handset Alliance


Quase 50 organizaes
Comprometida com uma plataforma mvel melhor e mais
aberta

Considerada apenas uma novidade por muitos


a princpio

Tornou-se um divisor de guas no mercado mvel

Baseado em Linux e na mquina virtual Dalvik

Plataforma
Android um Sistema Operacional que
utiliza em seu ncleo a verso 2.6 do
kernel do Linux. um sistema leve
porm poderoso;
Atualmente o Android equipa Celulares,
Tablets PC, SmartPhones, etc;

Utiliza a Mquina Virtual Dalvik


(desenvolvida pela Google).

Caractersticas

Desenvolvido para tirar o maior proveito


do que os dispositivos podem oferecer

Construdo em Java

Suporta um Subset da linguagem Java

Plataforma Android
Componentes do SO esto em
C ou C++
Aplicaes so desenvolvidas
em Java

Na sua imensa maioria

Aplicaes do sistema esto em


Java tambm
Nenhuma diferena entre aplicaes
do sistema e aplicaes
desenvolvidas usando o SDK

Open-source

Caractersticas

Dalvik Mquina virtual

Possui um conjunto de bibliotecas C/C++

SQLite Banco de dados relacional

Redes e comunidades disponveis pelo


Google
Android market

Tecnologias Utilizadas
JDK J2SE
Eclipse 3.6.2
Android SDK

Mercado
Operadoras de telefonia
AT & T, Verizon
Servios de dados
Mercado premium e com larga margem de lucro

Android X feature phones


Mercado desejado para Android
Feature phones
Consumidor s quero falar e mandar mensagens
Celulares gratuitos em operadoras
Atualmente com cmeras, GPS, etc

Mercado
Android X Android
Mercado open-source faca de dois
gumes
Modelo de licenciamento
Concorrncia acirrada entre fabricantes
Fenmeno mee too

Alteraes em interface e cdigo


Aparentemente em funcionalidades

Camadas
Kernel linux

Drivers de hardware

Bibliotecas

WebKit, SQLite, grficos


2D, 3D, mdia, etc

Managers

Telefonia, Activities
(views), janelas, recursos,
etc

Android runtime

Core java

Dalvik VM

Camadas
Linux kernel

Base de um kernel linux e JVM otimizada


Duas tecnologias so cruciais para ambiente

Porque linux?

Capacidades e poder de programao

Open-source
Cobre mudana rpida de produtos
Plataforma comprovadamente estvel

Confiabilidade mais importante que desempenho em


mercado mvel
Voz X caractersticas de programao

Camada de abstrao de hardware

Camadas
Dalvik VM
Criado por Dan Bornstein;
Nome de uma cidade em Iceland

Diminui o tamanho do arquivo executvel;


Formato .dex (Dalvik Executable);
No baseado em byte code Java mas sobre
instncias de arquivos .dex;
Neste caso para instanciar uma classe Java
necessrio convert-la para .dex;

Camadas
Dalvik VM

No JME

No Java (??)
Aplicaes so escritas em Java, so compiladas para
bytecode Java, mas traduzidas para uma representao
similar, porm diferente, chamada arquivos dex

Logicamente equivalentes a bytecodes java, mas permite a


aplicaes Android rodar em sua prpria VM (livre de direitos)

Do ponto de vista do programador, Android Java

Mas o runtime no estritamente uma Java VM


Cdigo legado (bibliotecas, por exemplo) so quase
compatveis em fonte (nearly souce compatible)
Tente recompilar em Android, mas no espere resultados
corretos todo o tempo

Introduo a Android
Palavras chave para o programador:
Activity
Intent *

Resource *
Service
ContentProvider *
BroadcastReceiver

Programao Android Intents


Intents

O que se quer fazer


Buscar um registro
Lanar um website

Facilitam navegao de forma inovadora

uma declarao de necessidade


Desejo de ao ou servio

IntentFilter

Declarao de capacidade e interesse em oferecer


assistncia para uma necessidade

Pode ser genrico ou especfico em relao a qual


Intent se oferece o servio

Intents

O atributo de ao de um Intent tipicamente um


verbo

Vrias aes de Intents existentes so definidos como


membros da classe Intent

Programadores podem criar novas aes

Para ver uma informao, o Intent seguinte usado:

VIEW, PICK, EDIT

android.content.Intent.ACTION_VIEW

O componente de dados de um Intent expresso na


forma de uma URI e pode ser qualquer informao

Intents URIs comuns


Contact lookup
content://contacts/people

Map lookup/search
Gei:0,0?q=23+Route+206+Stanhope+NJ

Website em navegador
http://www.google.com

Intents

Intents - Exemplo
Selecionar um registro em contatos

Intent pickIntent = new


Intent(Intent.ACTION_PICK,
Uri.parse(content://contacts/people));

startActivity(pickIntent);

Este Intent ser avaliado e passado para o


handler mais apropriado

Provavelmente uma Activity do sistema chamada


com.google.android.phone.Dialer

Mas pode ser qualquer outra Activity que receba


esse tipo de Intent

Intents
IntentFilter

Define a relao entre o Intent e a aplicao

Quando Intent lanado, o sistema avalia as


Activities, Services e BroadcastReceivers
disponveis

Envia o Intent para o receptor mais apropriado


Ver registro de contatos e ligar, enviar um SMS, buscar um
endereo, ver um vdeo, ver um website, etc

IntentFilters so definidos geralmente no


arquivo de manifesto

AndroidManifest.xml

Componentes Android Activity


uma tela visvel, relao quase de um para
um

Controller do MVC

Se uma aplicao precisar de uma interface,


ter ao menos uma Activity

Aplicaes Android geralmente contm mais de uma

Cada Activity responde a eventos do usurio e


do sistema

Emprega uma ou mais Views para apresentar os


elementos de UI para o usurio

Classe herdada pelo programador

ARQUITETURA

Arquitetura

Aplicaes

Cliente de e-mail

SMS

Calendrio

Mapas

Navegador

Contatos e outros.

Framework

Fornece uma plataforma de desenvolvimento


aberta, o que oferece aos desenvolvedores a
capacidade de construir aplicaes ricas e
inovadoras

Desenvolvedores tem pleno acesso s APIs


A arquitetura do aplicativo projetado para
simplificar a reutilizao de componentes

Possui um conjunto de servios e sistemas

Conjunto de Views que podem ser usados para


construir uma aplicao

Views

Views (1/3)

Android Arquitetura Framework View

82

Views (2/3)

Android Arquitetura Framework View

83

Views (3/3)

Android Arquitetura Framework View

84

Interface
Usa-se objetos View e ViewGroup.
View - estrutura de dados cujas propriedades
do layout so guardadas para uma rea
retangular especifica da tela.
Para vincular a rvore view tela para ser
renderizada, sua Activity precisa chamar o
mtodo setContentView(View view).

Componentes Android Activity

Parte do package android.app

Mostra elementos de UI, implementados


por Views, e definidos em arquivos de
layout XML
Sair de uma Activity para outra feito
pelo mtodo startActivity() ou
startActivityForResult()
Componente visvel da aplicao
Mais empregado na programao Android

Componentes Android Activity


Uma atividade exibe uma UI e pode
receber eventos do sistema e iniciados
pelo usurio.

Atividades podem interagir com outras


atividades,
Uma atividade pode empregar uma ou
mais views para apresentar um UI
Para se criar uma atividade estende-se a
classe Activity.

Componentes Android Activity


package com.msi.manning.chapter1;
import android.app.Activity;
import android.os.Bundle;
public class Activity1 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

Componentes Android
Service
Aplicaes com ciclo de vida longo ou tarefas
repetitivas

Sincronizaes, aes cclicas, etc

Lanados de forma peridica, quando necessrios ou


disparados por um alarme do sistema

Iniciados por startService(Intent)


Mtodo da classe Context

Herda da classe Service


No possui interface

Utiliza logs do sistema ou mensagens

Componentes Android Service

Tarefa que rodada ao fundo, sem


bloquear a interao do usurio.

uma aplicao que toca msica enquanto o


usurio faz outras atividades.

Para criar um Service, estende-se a


classe Service.

Componentes Android Service


package com.msi.manning.chapter1;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class Service1 extends Service implements
Runnable {
public static final String tag = "service1";
private int counter = 0;
@Override
protected void onCreate() {
super.onCreate();
Thread aThread = new Thread (this);
aThread.start();
}

Componentes Android Service


public void run() {
while (true) {
try {
Log.i(tag,"service1 firing : # " + counter++);
Thread.sleep(10000);
} catch(Exception ee) {
Log.e(tag,ee.getMessage());
}
}
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}

Componentes Android
BroadcastReceiver
Aplicaes que recebem e respondem a
eventos globais

Chamada telefnica, SMS, etc

Se registra para receber um determinado Intent

Aplicao implementa um <receiver> no


arquivo de manifesto ou se registra em runtime
No tem interface, nem devem executar por
muito tempo

Se o ciclo da aplicao maior, sugerido iniciar


um Service

Componentes Android BroadcastReceiver


package com.msi.manning.unlockingandroid;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import.android.content.BroadcastReceiver
public class MySMSMailBox extends BroadcastReceiver {
public static final String tag = "MySMSMailBox";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(tag,"onReceive");
if (intent.getAction().equals
("android.provider.Telephony.SMS_RECEIVED")) {
Log.i(tag,"Found our Event!");
}
}
}

Componentes Android
ContentProvider
Expe dados para outras aplicaes

Se uma Activity precisa de dados de outra aplicao,


usa seu ContentProvider

Implementa mtodos padronizados para


acessar dados

Acesso controlado (R, W, R/W)

Maneira padronizada de troca de dados entre


aplicaes

Aplicaes podem compartilhar arquivos ou bancos


de dados SQLite, mas no recomendado

Componentes Android Content Provider


gerencia os dados da aplicao. Voc
pode salvar dados em um sistema de
arquivos, num banco SQLite, na internet
ou em qualquer outra forma de
persistncia que sua aplicao conseguir
acessar.
Por meio do Content Provider outras
aplicaes podem acessar ou at
modificar dados da sua aplicao (se
tiverem a devida permisso).

Uso do ContentProvider

AndroidManifest.xml
Para o sistema identificar sua aplicao, ele
precisa ler o arquivo AndroidManifest.xml.
Alm de declarar os componentes da aplicao
o arquivo manifesto faz tambm outras coisas:

Identifica permisses do usurio que a aplicao


necessita. Ex: conexo com internet;

Declara componentes de hardware e software que a


aplicao usa. Ex: cmera e servio de bluetooth;

Entre outros.

Arquivo de manifesto
AndroidManifest.xml
Informaes sobre execuo de uma
aplicao Android
Contm ao menos uma entrada Activity,
Service, BroadcastReceiver ou
ContentProvider
Deployment descriptor

Exemplo de Manifesto
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.msi.manning.unlockingandroid">
<application android:icon="@drawable/icon">
<activity android:name=".Activity1" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>

Layout

O mtodo mais comum para se fazer o layout usar


XML. Cada elemento do XML um objeto View.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a Button" />
</LinearLayout>

Exemplo: Hello World


package com.example.helloandroid;
import android.app.Activity;

import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {

/** Called when the activity is first created. */


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

TextView tv = new TextView(this);


tv.setText("Hello, Android");
setContentView(tv);
}
}

Exemplo: Hello World

CRIANDO O PRIMEIRO PROJETO...


HELLO WORLD!

CRIANDO UM PROJETO

Criando um Projeto

Criando um Projeto

Criando um Projeto

Criando um Projeto

Criando um Projeto

Entendendo a Estrutura do
Projeto

Executando

DEPURANDO E DISTRIBUINDO

Criando um Breakpoint

Criando um Breakpoint

Criando um Breakpoint

Configurando o Modo Debug

Configurando o Modo Debug

Configurando o Modo Debug


seleo manual

Executando no Modo Debug

DEPLOY

Deploy
Processo de gerao de um arquivo de
instalao chamado .apk
O Android exige que todas as aplicaes
instaladas tenham certificados digitais
assinados com uma chave privada.

Este certificado usado para identificar o


autor da aplicao e manter uma certa
relao de confiana.

Deploy
As ferramentas
do Android
implementadas
no Eclipse
ajudaro na
assinatura

Deploy

Deploy

Deploy

Deploy

Deploy

Você também pode gostar