Escolar Documentos
Profissional Documentos
Cultura Documentos
CurSo Android Portugues
CurSo Android Portugues
AGENDA
A;enda
(nde encontrar o Android& )uem usa o Android*& + ,a-out. Menu. Alertas e /otificaes Atividades Arma1enamento de Dados $rovedores de Conte2do Multim3dia 45udio e 63deo7 Servios ,ocali1a8o e Mapas Servios 9eb. :M,. Computa8o em nuvem Se;urana e $ermisses
0ecursos e Assets
'
Celulares /etBooA 0 M BlacABerr- $la-BooA tablet Bablet $C Carros Smart B6 =m resumo Cem %uase todos os lu;ares
O QUE O ANDROID NO
Android vs $hone Duas plataformas. # conceitos
+m elemento do ,inux $hone Standard Lorum 4,i$S7 ou do (pen Mobile Alliance 4(MA7
Assim como no ,inux. o Android executa um Aernel de cdi;o aberto. e vai alMm das preocupaes de padroni1a8o do ,i$S e da (MAN
+m celular
$lataforma de 0eferRncia para os fabricantesN /8o de UM s telefone Android mais DOS telefones AndroidN
II
9indow Mana;er 4Serenciador de !anelas7 ,ocation Mana;er 4Serenciador de ;eoTlocali1a8o7 Content Mana;er 4Serenciador de conte2do7
SDK ANDROID
Com a caixa de ferramentas M poss3vel criar aplicativos %ue ser8o inclu3dos no telefone. como aplicaes nativas do AndroidN A 6M DalviA n8o M uma !6M. tal como !ava M=N Lacilidade para escrever aplicaes em CV e CQQ para DalviAN
I'
( SDU Android
I<
( SDU Android
Sem custos de licena 4desenvolvimento. distribui8o7 /enhum processo de aprova8o de aplicativos de terceiros ( acesso direto ao hardware
9iTLi. redes SSM. =DS=. e 'S SMS
A$ s completas para servios de locali1a8o. como o S$SN Controle total de e%uipamentos de multim3dia
,eitura e ;rava8o de v3deo e >udio AcelerKmetro B2ssola
Controle de sensores
Motor ;r>fico
I@
ID
,inux
Ambiente de Desenvolvimento
SDU Android 4http:""developerNandroidNcom"sdA"indexNhtml7 !DU@ ou D 4http:""sunNPavaNcom"Pavase"downloads"indexNPsp7 =clipse 'N< ou 'N@ 4Salileo de preferRncia7 ( plu;in =clipse ADB 4Android Developer Bool7
Declarando um la-out
Duas maneiras de declarar um ,a-out
(p8o VI: Declare os elementos da interface do usu>rio em um ar%uivo :M, 4f>cil de or;ani1ar. visuali1ar. etcNNN7N Altamente Recomendado
( Android fornece um vocabul>rio bastante simplificado de elementos :M, correspondentes Ws classes e subclasses do tipo 6iewN
(p8o V#: nstanciar os elementos do la-out em tempo de execu8o 4no cdi;o !ava7
( aplicativo pode ;erar obPetos do tipo 6iew 46is8o7 ou 6iewSroup 4Srupo de vises7 e. assim. manipular suas propriedades por pro;rama8o no cdi;o !avaN
IH
#J
Bipos de ,a-out
Bodos os tipos de la-out s8o subclasses da classe 6iewSroup
,inear,a-out
Alinha ou empilha todos os elementos filhos em uma dire8o 4hori1ontal ou vertical7N A distXncia entre os elementos respeita a ;ravidade 4alinhado W direita. centro ou es%uerda7N
0elative,a-out
Cada elemento filho pode ter a sua prpria posi8o em rela8o ao pai ou outros elementos filhosN Se. por exemplo. o primeiro elemento filho est> centrali1ado. em se;uida. todos os outros elementos cuPas posies n8o foram especificados ser8o alinhados ao centro tambMmN
Bable,a-out
##
(s elementos filho s8o posicionados em linhas 4Bable0ow7 e colunasN Cada linha pode ter 1ero ou mais cMlulasN
Bipos de ,a-out
Lrame,a-out
Lrame,a-out M o mais simples dos obPetos tipo la-outN Y apenas um espao va1io na tela onde vocR pode preencher com um 2nico obPetoN =x: uma ima;em de fundoN Bodos os elementos filhos s8o automaticamente colocados no topo es%uerdo da telaN
#'
#<
#D
/* Cria os tens de menu sem icones */ public boolean onCreateOptionsMenu(Menu menu) { // O mtodo add() usado neste exemplo pede quatro argumentos: // groupId itemId order e title! menu!add(" M#$%&$#'&()M# " *$o+o ,ogo*)menu!add(" M#$%&.%I/ " *sair*)return true0
#E
AlertDialo; $ro;ressDialo;
'J
+ma Toast notification uma mensa;em %ue aparece lo;o em primeiro plano na telaN Y compar>vel a um mini pop-upN /8o re%uer nenhuma a8o do usu>rioN =ventualmente M clicar e desaparece ;radualmenteN
''
/oast!ma?e/ext( get)pplicationContext() // Contexto 8!string!toast&message // Obter o texto a exibir /oast!@#$(/D&@O$()!s5o:()- //#xibir a mensagem s5o:()
'<
'@
( %ue M uma atividade & Declara8o de Atividade no ar%uivo de manifesto Atividade e Aplica8o ( ciclo de vida de uma Atividade
ACTIVITY
'D
/o caso de v>rias atividades. uma delas ser> marcada para ser apresentada primeiro para o usu>rio ao iniciar o aplicativoN
'E
<J
APLICAO E RECURSOS
( %ue s8o recursos& =xternali1a8o de recursos $adr8o vsN 0ecursos alternativos (nde colocar os meus recursos &
<I
<#
0ecursos 4=xternali1a8o7
$ermite manter os recursos fora do cdi;o !avaN $ermite fornecer recursos alternativos de acordo com o usu>rio ou e%uipamentos utili1ados:
Sest8o de m2ltiplos idiomas Sest8o de diferentes tamanhos de tela
$ara todos os tipos de recursos. M poss3vel especificar um padr8o e diversas alternativas para a mesma aplica8oN
(s recursos alternativos ser8o utili1ados independentemente da confi;ura8o do aparelho. ou %uando n8o houver recursos alternativos para uma determinada confi;ura8oN (s recursos alternativos ser8o utili1ados para casos espec3ficos e predeterminadosNN
Duas configuraes utilizando os recursos padro Duas configuraes das quais uma utiliza os recursos alternativos
0ecursos 4Alternativa7
<<
0esources 4res"7
Cada tipo de recurso deve ser colocado em uma subpasta da pasta res =x :
Meupro,eto/ src/ Min5a)ti+idade!,a+a res/ dra:able/ icon!png laAout/ main!xml in4o!xml +alues/ strings!xml
<@
Sistema de arma1enamento de dados $referRncias 4Shared$references7 Arma1enamento interno Arma1enamento externo Base de dados
ARMA'ENAMENTO DE DADOS
<D
Dados 4$referRncias7
Dados (%i)iti *" s8o ;uardados no formato de chaveOvalorN A classe "#are!Preferences fornece ferramentas para arma1enar e recuperar informaes no formato chaveOvalorN $odemos usar a classe "#are!Preferences para arma1enar dados de tipo primitivo. exemplo$
boolean. float. int. lon; e strin;
(s dados s8o persistidos atravMs das sesses de usu>rio. e ficam dispon3veis mesmo com o aplicativo fechadoN
<F
<H
@J
Ar%uivos arma1enados dessa forma s8o acess3veis a todos 4hardware. software. utilit>rios7 e podem ser modificados pelo usu>rio. por exemplo. durante a transferRncia para seu computadorN
Bodos os bancos criados e arma1enados ser8o acess3veis a todas as aplicaes ()!" &.* 0*%! $! !(+i,!-.*)N
@I
111111111111111111111111111111111111111111111111111111111111 3.@ite6atabase mA69 1 openOrCreate6atabase(6)/)9)3#&$)M# Context!MO6#&>8I;)/# null)// Insere uma no+a lin5a na base de dados! Content;alues ne:8o: 1 ne: Content;alues()ne:8o:!put(*countrA&name* *9rasil*)ne:8o:!put(*capital&citA* *9raslia*)mA69!insert(6)/)9)3#&/)9@#&$)M# null ne:8o:)@#
$lataforma Android para >udio e v3deo 0eprodu8o de >udio e v3deo Lormatos de m3dias suportados
M3DIA(UDIO E V3DEO)
@'
63deo
[N#D'. [N#D< A6C. M$=ST< S$
@D
@F
Servios 0emotos
S8o acess3veis a outras aplicaes Dispon3veis a outras aplicaes por meio do A D, 4Android nterface Definition ,an;ua;e7N
@H
Servios de ;eolocali1a8o Simula8o dos dados de ;eolocali1a8o Soo;le Maps 4biblioteca externa7
GEOLOCALI'AO E MAPAS
DJ
Seolocali1a8o e Mapas
4Servios7
As principais tMcnicas utili1adas pelo Android para determinar a posi8o atual de um dispositivo s8o as se;uintes:
,ocation Mana;er : Lornecimento de ;anchos 4pontos de entrada7 aos servios de ;eolocali1a8o com os obPetivos de:
(bter sua posi8o atual Monitorar movimentos durante um per3odo determinado Salvar ou excluir os dados de locali1a8o periodicamente atravMs do LocationProvider =xecutar alertas de proximidade ao se aproximar de uma 1ona espec3fica
DI
,ocation $roviders : Cada \Lornecedor de $osi8o]* representa uma tecnolo;ia de locali1a8o da posi8o do aparelhoN
Seolocali1a8o e Mapas
posi8o7
4Simulando uma
+tili1ar o DDMS 4DalviA Debu; Monitor Service7 do =clipse na perspectiva DDMS para :
=nviar manualmente os dados de locali1a8o 4lon;itude"latitude7 do %ocationProvi!er
+tili1ar um ar%uivo S$: 4S$S =xchan;e Lormat7 %ue descreve a rota W ^simular_N S$: M um ar%uivo :M, respons>vel pela comunica8o dos dados S$S +tili1ar o ar%uivo U,M %ue descreve os pontos de referRncia para a se%uRncia de leituraN +tili1ar ^S=(_ em linha de comandoN Acess3vel atravMs do console emulador do Android. %ue permite a simula8o de posiesN
D#
Seolocali1a8o e Mapas
4Soo;le Map7
Baseado na classe : ,*)/1**1+2/!&$%*i$/)!("/M!(Vi24 $ermite adicionar os recursos oferecidos pelo Soo;le Maps diretamente em sua aplica8oN =xibe um mapa com os dados obtidos a partir do Soo;le MapsN Controle do `oom 4controles de toques na tela) Lornece todos os elementos de interface ;r>fica necess>rios ao usu>rio para controle dos mapasN Cadastro de aceita8o de uso 4licena7 . necess>ria para utili1a8o dos do Soo;le MapsN
D'
D<
0esponse Lormats
:M, !S(/ 0SS. Atom
:M, $arsin;
SA: D(M $ullTparser
D@
DE
SEGURANA E PERMISS;ES
DF
Se;urana e permisses
( padr8o M nenhum aplicativo M autori1ado a executar operaes %ue ter8o efeito ne;ativo sobre outras aplicaes. ou sistema operacional. ou alterar a experiRncia do usu>rioN Cada aplicativo M executado em um processo exclusivo para ele e fechadoN
=le n8o pode interferir com outras aplicaes. a menos %ue sePa expressamente autori1ada a utili1ar os recursos n8o previstos por padr8oN =: : Serenciar SMS
Fmani4est xmlns:android1*5ttp://sc5emas!android!com/ap?/res/android* pac?age1*com!android!app!mAapp* J FusesHpermission android:name1*android!permission!8#C#I;#&3M3* /J F/mani4estJ
DH
2radutores
A traduo deste material foi realizada de forma colaborativa e voluntria pela equipe do DFJ ! """#df$u%#or%& em 'aio de (0))# Daniel de*liveira Daniel +ield Francisco 'arcio da ,ilva -ete 'artins .ufino 'arcos Aires /atali ,ilverio 0atric1 /ascimento ,ilvani /eri
70
R2&<&,i! L21!+
$artes desta apresenta8o s8o modificaes baseadas nos trabalhos compartilhados por: $roPeto de Cdi;o Aberto Android
a http:""codeN;oo;leNcom"policiesNhtml
0eto Meier autor do livro \Android #] b Loram usados de acordo com os termos descritos na licena Creative Commons #N@ a http:""creativecommonsNor;"licenses"b-"#N@"