Android
Desenvolvimento de Aplicagées
com Android Studio
Compativel com o Android 6
Programacao em Java
através do Android Studio 2
Introducao ao Material
Design e ao Android Wear
Exemplos completos
disponiveis em [Link]Este livre fol esrita com base numa versao beta do Androld Studlo 2.0. Apesar disso, e tendo em atengio a evolucao
historia da plataforma, nao se prevé que venham a ocorrer alteragdes significativas entre esta versio e a verso
definitiva. Para eventuals atualizacdes consulte 0 nosso ste (www fea pt)
Epigho
FCA Eeditora de Informatica, Lda.
Ay. Prala da Vitérla, 14 & ~ 1000-247 Lisboa
Tel: +351 213 511 448
feagfeapt
wwnefea pt
Distaisuicao|
Lidel -Edigbes Técnicas, Lda.
ua D. Estefania, 183, RC Dto, ~ 1049-057 Lisboa
Tel: +351 213511 448
lidelalidel pt
wwwlidel pt
Liveania
Ay Prala da Vitia, 14 A ~ 1000-247 Lisboa
Tol: 4351 213 511 448 * Fax: +351 213 173 259
livrariaatidel pt
Copyright © 2016, FCA ~Editora de Informatica, Lda.
ISBN edido impressa: 978:972-722°819'5
1 Sedicdo impressa:feverelro 2016
Impressao e acabamento: Cafilesa ~ Solucdes Gréficas, Lda. ~ Venda do Pinheiro
Depésito Legal n° 405593/16
Capa: José M Fetra0 ~ Look-Ahead
vines agit aFcA- cos eon so QML a
Todos os nossos livros passam por um rigoroso controlo de qualidade, no entanto aconselhamos a consulta
periécica do nosso site (mw. Scapt] para fazer o download de eventuais correcées.
'Néo nos responsabilizamos por desatualizagdes das hipeigagées presentes nesta obra, que foram verificadas data
de publicagao da mesma,
(Os nomes comercias raferenciados neste liv tém patente registada,
GZmowaray | Reserados todos os dees Esta publican no pode sr reproduc, nam tans, no tdo ou em pare, por qualquer
lceso actanica mena aca aucauaeo, ear, soma de amazenamento © aspolbzaao de atmaa,
Eo le, aque cuca sen peel niarnain seid Estar, seat penn pale CDAD am tems dcp pod
[eb AGECOP” Associa pra ests de Cpl Poc stats do posuere das testes naINDICE GERAL
AGRADECIMENTOS
2. INTRODUCAO AO ANDROID ..
LAL Historia e versoes do Android . 1
LL, Android Lottipop 0 ( . Ne
1.1.2 Android Marshmallow 5
8
9
1.2, Plataforma Android
1.2.1, Arquitetura
1.22 Loja de Aplicagaes Google Play
1.23, Tipos de dispositivos...
2. A MINHA PRIMEIRA APLICACAO «.
2.1. Configuracao do ambiente de desenvolvimento 6
21.1. Instalagéo do JDK 15
2.1.2 Instalagdo e configurasio do Android Studio 16
2.2. A minha primeira aplicagao cs sass satan
2.2.1. Criagdo de projeto. 9
222 Interface grafic. on ee B
2.23, Execucio da aplicacio, 26
2.2.4 Publicagao da aplicagao. 28
23, Anatomia de um projeto Android... 31
23.1, Ficheiro de manifesto... 32
23.2 Cédigo-fonte Jav 33
23.3, Recursos, 34
23.4, Classe R.
23.5, Bicheiros Cradle
3. ANDROID STUDIO.
3.1. Janelas,
3.1.1, Janela de boas-vindas...
3.1.2 Janela principal
3.13. Janelas de forramentas.
3.14 Janelas de edigao.
3.2, Ferramentas.
3.21 SDK Manager
3.22 AVD Manager
3.23. Android Device Monitor .
3.24, Theme Edito
4, COMPONENTES ANDROID
AL Introdusao....
O FCA — Eatora de InformaticaVIN) Anoro1o ~ DeseNVOLVIMENTO DE APLICAGOES CoM ANDROID STUDIO.
42. Atividades, a
4.21, Introdugao as atividades...
4.22 Atividades, tarefas ¢ back stacks
4.23. Ciclo de vida de uma atividade.
424, Comunicagao entre atividades...
43, Servigos.
43.1, Introducao aos servigos.
43.2 Criagdo e execusao
433. Comunicacio.
4A. Recetores de broadcast pon
4.4.1, Introdugao aos recetores de broadeast
4.4.2 Criagdo e rogisto
443. Difusio a
444, Exemplos priticos 1 100
45. Fornecedores de conteido. 103
45.1, Introdugao aos fornecedores de contetido 103
45.2 Exemplo pratico. 104
5. INTERFACE GRAFICA «,
5.1. Introdusio. 107
5.2 Layouts.. oo 107
5.21, Atributos.. 1 109
5.2.2 Tipos de layout 113
5.23, Layouts dinamico: 4
5.3, Fragmentos 1B
53.1, Definir um fragmento 129
5.3.2 Incoxporar um fragmento numa atividade 130
5.3.3, Ciclo de vida de um fragmento 132
5.3.4, Procurar instancias de fragmentos.. vo 34
5.3.5, Comunicar com fragmentos 135
5.4. Views 136
BAL TextView. ss 13
542 Bait Text 138
5.43, Button... 14
5.4.4. Outeas views de input. a2
6. MATERIAL DESIGN.
6.1, Introdugao, 149
6.2, Temas. 1150
6.3, Views... 158
6.3.1, Cara: 153
63.2 RecyclerView 155
63.3, Pext InputLayout. 162
163
63.4, FloatingActionButton..
635, TabLayout 165
636 Navigationview 167
OFA Eaitera de Informaticafuprce Gera | Vil
63,7, gnackBar. e169
63.8, CoordinatorLayout 170
6.3.9, Blevagdes de views... 174
6.4, Animacées. 175.
GALL, Feedback ao toque 475
64.2 Transigao entre atividades. 176
6.4.3. Efeito reveal 7 -_ . racic BD
65, Drmuates 182
63.1, Drawables vetoriais.. 182
63.2. Dracoable tinting sai 1 183
6.5.3, Extracto de cor: classe Palette: 184
7. GestAo DE Dapos..
7:1. Introducio,
7.2. Ficheiros
7.2.1, Armazenamento interno. 188
7.22 Armazenamento externo.. 191
7.3, Preferéncias [Link] se 1 seommenne 192,
7.3.1, Leitura e escrita de dados 193
73.2 Classes Preferenceactivity e PreferenceFracment. 194
7.4, Base de dados SQLit se sn 197
7.4.1, Classes SOLd teopentielper e SOLi teDatabase. 197
7.4.2. Exemplo pratico. 200
7.4.3. Object-Relational Mapping.
8, MULTIMEDIA
8.1, Reprodusio de video. 209
[Link]. Classe videoview 1 209
8.1.2 Classe Mediacontroller -2U
8.2. Gravacio de video e captura de imagem, 23
8.21, Gravagio de video.
8.22 Captura de imagem...
8.3, Reproducao e gravacao de audio.
83.1, Reproducao de audio.
83.2 Gravagio de audio.
833, Exemplo pratico
9, NETWORKING
9.1. Configueasées e boas praticas
9.1.1, Permissées.. sn sca et wots BP
9.1.2 Verificagao de conectividade 228
9.1.3, Tarefas assincronas. 228
9.2, Gestio de paginas Web. BO
9.2.1, Exibigao. BO
9.2.2. Manipulacao. ib ai ince
9.3, Gestio de pedidos HTTP. 235
‘©FOA— Editora de InformaticaVEIT) AnoRoID - DESENVOLVINENTO DE APLICAGOES COM ANDROID STUDIO
9.3.1, Clientes HTTP e236
9.3.2 Bibliotecas externas. oe B39
9.4, Servigos Web « : son os see 245
9.4.1. Facebook para Android 245,
10. Mapas € LOcALIZACAO
10.1. Google Play Services vo “ ssn
10.11. Configuracéo do Google Play Services. 256
10.1.2 Classe GoogleAPiCLient non sone sonnnnee 297
10.2. API Google Maps. “ 59
10:21. ConfiguracBes na Googie Developers Console. 259
10.2.2 Criagdo de uma aplicacio basica 261
10.23. Classe Googlemap..
10.3. API Google Location
11, INTRODUGAO AO ANDROID WEAR.
11.1. Introdugio,
11.2. Configuragdes prévias, e : aT
11.3. A minha primeira aplicacdo wearable 283
114, Notificagées 285
LAL. Emparelhamento dos dispositives.... = 286
11.4.2 Criagao de uma aplicagao para envio de notificacoes . 287
GLossAnto DE TeRMos ~ PorTUGUEs EUROPEU / PoRTUGUES DO BRASIL 293
inpice Remissivo. 295
OFA Eaitera de InformaticaANDROID STUDIO
O Android Studio é um ambiente integrado para o desenvolvimento de aplicagses para a
plataforma Android. Foi anunciado a 16 de maio de 2013, na conferéncia Google W/O, ¢
esti, desde entio, disponivel gratuitamente sob a licenca Apache 20. Em fevereiro de
2016, foi langada a sua versio 20, bastante sofisticada, intuitiva e facil de usar. Neste
capitulo apresenta-se a organizagio do layout do editor através de uma visio geral sobre
as virias janelas e ferramentas constituintes,
3.1 JANELAS
A arquitetura do Android Studio, exibida na Figura 3.1, ¢ constituida por varias
reas que permitem ao programador interagir com o Android Studio e executar miiltiplas
tarefas associadas ao processo de desenvolvimento de software.
Janela de boas-vindae
Janela principal
Tanelas de Taree —
ferramentae tise
Android cade Tara Mens
cane eines
Proiet Sarade
“ Ferrementas
Termin rade
Navegaio
cade
Tare
fotos de
ferrmentae
Ficura 3.1 ~ Organizacio do layout do ulilizador no Android Studio
Neste capitulo é feito uma pequena tour sobre as suas principais janelas, barras e
ferramentas de trabalho.
FCA — Eatora de InformaticaAO} AnoRoID - DESENVOLVINENTO DE APLICAGOES COM ANDROID STUDIO
3.1.1 JANELA DE BOAS-VINDAS
Quando 0 Android Studio é executado pela prim
que tenha qualquer projeto aberto anteriormente, é exibida a janela de boas-vindas
intitulada “Welcome to Android Studio”, como mostrado na Figura 3.2.
vez, ou & executado sem
Android Studio
ee
Open eisng nok Sud poet
Cheksutpcti sonnel =
of gop Ep 0, Cate te)
congue cet ~
Figura 3,2 ~ Janela de boas-vindas ao Android Studio
fee
da préxima vez que for executada, abrindo automaticamente o projeto ativo.
A janela inclui dois painéis. © painel da esquerda lista os projetos existentes.
painel da direita inclui o seguinte conjunto de op¢ées:
@ Start anew Android Studio project — cria um projeto novo;
© Open an existing Android Studio project — abre um projeto existente;
© Check out project from Version Control — faz o checkout de projetos
mantidos em sistemas de controlo de versées (por exemplo, GitHub, CVS,
Git, Google Cloud, Mercurial, SubVersion);
© Import project (Eclipse ADT, Gradle, ete.) — importa projetos do Eclipse ou
através de um ficheito Gradle;
© Import an Android code sample ~ importa exemplos de cédigo.
Finalmente, a barra de estado da janela inclui duas op¢ées: Configure, que permite
a configuracao da ferramenta (por exemplo, acesso ao SDK Manager ou a verificacao
de atualizacdes), e Get Help, que providencia ajuda eo acesso a documentacao variada.
OFA Eaitera de InformaticaAnproip Stup1io 44
3.1.2. JANELA PRINCIPAL
Quando um projeto novo é criado ou um existente é aberto, a janela principal do
Android Studio ¢ exibida. Se estao abertos, simultaneamente, miltiplos projetos, cada um
teré associada uma janela principal. A configuracao da janela poderd variar de acordo
com as ferramentas e os painéis abertos da tiltima vez que 0 projeto foi aberto. A Figura
3.3 mostra o aspeto tipico da janela principal do Android Studio.
Cn ee
PaPrarereenregyeenrrensnrereun rest
GHG ve XO0GR 6% idmsrentm Faeee
See Cini pa) ee hes eee)
— aaa *
ma Bpmte crane sertonatretatectrity oxtents optompestotivity
e
Fie Fag
°
ornare
ite Sica oe ° eat ig nec
FiGuPA 3.3 ~ Janela principal do Android Studio
A janela principal é constituida por barras e outras janelas:
1) Barra de menus ~ contém um conjunto de menus para execular tarefas no
ambiente Android Studio.
2) Barra de ferramentas — contém uma série de botdes para agdes frequentes.
3) Barra de navegacao — permite o acesso a pastas e ficheiros do projeto. Ao
clicar em qualquer elemento da barra, 6 exibido um menu com uma listagem,
das subpastas e ficheiros respetivos e prontos a serem selecionados.
4) Barra de botées de ferramentas — contém um conjunto de barras exibidas ao
longo das partes esquerda, direita ¢ inferior da janela principal com botdes
para ativar/desativar cada uma das janelas de ferramentas,
5) Barra de estado ~ exibe mensagens informativas sobre © projeto © as
atividades no Android Studio. Inclui 0 botao para o menu das ferramentas
localizado no canto esquerdo.
O FCA — Eatora de Informatica42) AnoRoID - DESENVOLVINENTO DE APLICAGOES COM ANDROID STUDIO
6) Janela de ferramentas do projeto ~ fornece uma visio hierarquica da
estrutura de ficheiros do projeto, permitindo a sua navegacao.
7) Janela de edigio — permite ao programador editar ficheiros do projeto
Android,
“| 0s menus battasaprecentados podem ser personalizados clicando com o bot dicito
do rato na barea de ferramentas e selecionando a opcio Customize Menus and Toolbars
E também possivel alterar o tema geral do ambiente de desenvolvimento através
da opcao do menu principal File > Settings. Apés a exibicao da janela de configuracao,
selecione a opcao Appearance no painel do lado esquerdo e, em seguida, altere a
configuracao do menu Theme. Os temas disponiveis sao IntelliJ, Windows e Darcula.
A Figura 3.4 mostra um exemplo da janela principal com o tema Darcula selecionado.
Figura 3.4 ~ Tema Darcula
3.1.3 JANELAS DE FERRAMENTAS
‘As janelas de ferramentas do Android Studio permitem dotar a janela principal
com Areas especializadas no processo de desenvolvimento das aplicages Android. A
janela de visualizagio de projetos é uma dessas janelas, Para aceder a lista de janelas,
passe 0 ponteiro do rato sob 0 botao no lado esquerdo da barra de estado (1), aparecendo
uum menu com uma listagem de todas as janelas de ferramentas disponiveis (2), conforme
demonstra a Figura 35.
OFA Eaitera de InformaticaAnpRoip Stup1o 43,
oat
2 Grae
Figura 3.5 ~ Menu comas janelas de ferramentas disponiveis no Android Studio
A selecdo de um item do menu faré com que a janela correspondente seja exibida
ao longo das partes inferior ou lateral da janela principal. Alternativamente, pode usar a
barra de botées de ferramentas cuja visibilidade pode ser controlada com o clique
sucessivo no botio da barra de estado (1).
=
BA bn gerir a visibilidade das barras dos botdes de ferramentas, pode também usar a op¢ao
do ment principal View > Tool Buttons.
De entre todas estas janelas destaca-se, para além da janela Project, a janela
Android Monitor (Figura 3.6).
4
Ficura 3,6 — Janela de ferramentas Android Monitor
© Android Monitor permite tragar o perfil do desempenho das aplicagées
Android, de forma a otimizar, depurar e melhorar 0 seu desempenho. Para isso, conta
O FCA — Eatora de InformaticaAAI) AnororD ~ DESENVOLVINENTO DE APLICAGOES COM ANDROID STUDIO
com a ferramenta LogCat para gerir as mensagens de log enviadas pela aplicagio ou
pelo sistema e por varios monitorizadores para getir varios aspetos da aplicacao, tais como
0 uso da meméria, 0 CPU, 0 GPU e 0 trafego de rede (dispositive de hardware apenas).
Outras destas janelas serio explicadas ao longo da obra, sempre que o seu uso seja
importante para 0 tépico abordado.
3.1.4 JANELAS DE EDICAO
As janelas de edicao no Android Studio permitem a ediao dos ficheiros de um
projeto Android. Sao duas:
© Janela de edigao de texto — para edigao de ficheiros baseados em texto (por
exemplo, cédigo-fonte Java);
@ Janela de edicao geafica— para edigio de ficheiros de layout.
A forma de exibigao do contetido é contextual. Por exemplo, quando se abre um
ficheiro Java surge a janela de edigao de cédigo, mas quando se esta a trabalhar com um
ficheiro de layout surge uma janela de edigao grafica do tipo WYSIWYG (What You See Is
What You Get). Quando multiplos ficheiros esto abertos simultaneamente, cada ficheiro 6
representado por um separador (tab) no topo da janela.
3.14.1 EDICAO DE TEXTO
O editor de texto surge sempre que for selecionado para edicao um ficheiro Java,
XML ou outro ficheiro baseado em texto. A Figura 37, por exemplo, mostra a janela de
edicao para um ficheiro com cédigo-fonte Java.
FicuRA 3.7 ~ Janela de edisao de eédigo
OFA Eaitera de InformaticaAnpRoIp Stup1o 45,
A janela principal é constituida por barras ¢ outras janelas:
1) Barra de separadores ~ contém um conjunto de separadores que permitem 0
acesso aos ficheiros abertos na janela de edigdo de eddigo. Ao clicar com 0
botao direito sobre um separador, acede a um menu com varias operagdes.
2) Barra de Gutter — exibe icones e controlos informativos que permitem
definir, por exemplo, breakpoints para depuragio de cédigo, abrir e fechar
blocos de cédigo, associar bookmarks ou mostrar ntimeros de linha (botao
direito para geri a visibilidade dos ntimeros)
3) Area de edigio — exibe o cédigo do separador ativo permitindo ao
programador edité-lo
4) Barra de validagio ~ exibe informagées sobre a andlise on-the-fly do codigo.
5) Barra de estado — exibe informagées sobre a posicéio atual do cursor (linha e
coluna), 0 separador de linha, o formato de codificagao do ficheiro (ASCH,
UTES, etc). Clicando nestes elementos, é possivel alterar os seus valores.
No caso da posigio do cursor, o clique exibird a caixa de didlogo Go to Line,
que permite posicionar o cursor numa linha especifica.
Hoje em dia os editores de cédigo sao muito sofisticados, oferecendo ao
Autocompletacio e geragio de cédigo ~ reduzir a digitacdo de codigo;
© Navegacao no cédigo — facilitar a navegagao entre ficheiros e em ficheiros
extensos de cédigo;
© Validagdo de eédigo ~ detetar/destacar erros no cédigo em tempo real.
AUTOCOMPLETAGKO E GERAGHO DE CODIGO
Para reduzir a digitacdo de cédigo e, assim, acelerar a escrita de cédigo, 0
Android Studio permite a completacio automatica de cédigo. A medida que 0 cédigo
digitado, o editor verifica o que esta a ser digitado e, se for caso disso, faz sugestées em
relacdo ao que pode ser necessdrio para completar uma declaragao ou referéncia. Quando
uma sugestéo de conclusio ¢ detetada pelo editor, surge um painel com uma lista de
sugestoes (Figura 3.8),
OFCR — Eatora de Informatica45) AnoRorp - DESENVOLVINENTO DE APLICAGOES COM ANDROID STUDIO
paper. caCeeate sevesiarcenceState]?
int x = va
> (iia area ane NER IR E
Ficura 3.8 - Autocompletacio de cédigo
Depois, basta posicionar-se sobre a sugestao correta através das teclas do cursor ¢
pressionar as teclas Enter ou Tab.
Se ee ee eee
de teclas Ctrl*Space. Isto pode ser util quando se muda uma palavra ou declaragio no editor.
Quando 0 cursor ¢ posicionado sobre uma palavra no editor, essa palavra é destacada automati-
camente. Pressionando Ctrl+Space, é exibida uma lista de sugestoes alternativas. Para substituir a
palavra atual com 0 item destacado no momento na lista de sugestdes, basta pressionar a tecla Tab.
Para uma conclusdo inteligente (smart completion), o Android Studio usa a combinagio de teclas
Shift+Ctrl+Space, que fornece sugestdes mais detalhadas com base no contexto atual do cédigo.
Nas declaragdes dos métodos também é possivel usar a autocompletagio do
cédigo, pressionando Shift+Ctrl+Enter, ¢ o Android Studio, de forma automatica, incluira
as chavetas que delimitam 0 cédigo do método.
Além de completar cédigo, 0 Android Studio também permite a geragio de
cédigo. De forma a exibir uma lista de opgdes contextuais de geragao de cédigo disponiveis
(Figura 3.9), use a combinagao de teclas AltHInsert quando 0 cursor estiver no local em
que 0 cédigo deve ser gerado.
Ficura 3,9 ~ Geragio de cédigo
OFA Eaitera de InformaticaAnpRoIp Stup1o 47
Navecacio No cépiGo
Para além da barra de navegagio, existem outros mecanismos titeis para navegar
dentro da janela principal do Android Studio. Um desses mecanismos é 0 Switcher.
Switcher, ativado através da combinacao de teclas Ctel+Tab, aparece como um painel
listando ambas as janelas de ferramentas e 0s ficheiros atualmente abertos (Figura 3.10).
Sa
# 0 anaid ose © Hetaanctoidcriyiava
© 1 Prien See
42 Foote
© 4 Copter
Vr seve
& 8 Gate
2 inde Conele
Ba termina
ey 7000
[ces esesnamcsiics ersten nan
FicueA 3.10 ~ Painel Switcher
Apés a sua exibigdo, o Switcher permanecerd visivel durante o tempo em que a
tecla Ctrl estiver premida. Nesse periodo, prima repetidamente a tecla Tab para navegar
entre as varias opcées. Quando soltar a tecla Ctrl, o item selecionado é exibido dentro da
janela principal.
Para além do Switcher, é possivel navegar pelos ficheiros abertos recentemente
através do painel Recent Files (Figura 3.11).
Recent
© Prosct [Besngsaml
1 Fortes |B Andetnfetxm
Wd Varios Sapp
1 captures
FventLog
5 Antoid Mentor
Ve stctue
2 vate
© crete Concale
Terminal
T0090
aa ana aR Ra apra ERAGE
Figura 3.11 ~Painel Recent Files
Para aceder a este painel use a combinacao de teclas Ctrl+E. Uma vez exibido o
painel, use o rato para selecionar uma opgo ou, em alternativa, as selas do teclado para
percorrer as opcées das janelas de ferramentas ou dos ficheiros abertos recentemente.
No fim, pressione a tecla Enter para abrir o item atualmente selecionado.
O FCA — Eatora de Informatica48) AnoRorD - DESENVOLVINENTO DE APLICAGOES COM ANDROID STUDIO
=
q Android Studio inclui uma gama variada de teclas de atalho projetadas para economizar
tempo ao executar tarefas comuns. Uma listagem completa (mapa de teclas de atalho) pode ser
visualizada/impressa selecionando a opsio do menu principal Help > Default Keymap Reference.
Um ficheiro Java pode atingir um tamanho considerdvel, prejudicando a sua
legibilidade e navegacao. Sao varias as funcionalidades que o Android Studio apresenta
para facilitar a navegagao no cédigo. Uma das mais importantes é a abertura/fecho de
blocos de cédigo através de marcadores situados na barra de Gutter da janela de edigdo.
A Figura 3.12 destaca os marcadores de inicio e fim (sinal -) para uma declaragao de
método expandida (1). Ao clicar em qualquer um dos marcadores, 0 bloco de cédigo ¢
fechado (2), surgindo um tinico marcador (sinal +). Pode-se reverter a situacao clicando
no marcador, ou, no caso de querer ver o cédigo sem o expandir, pode passar 0 ponteiro
do rato sobre o texto {...} (3) de forma a exibir um painel com o cédigo escondido.
te eee
do menu principal Code. De forma a configurar os seus valores por omissio, aceda a opcio File >
Settings e selecione, no painel da esquerda, Editor © depois General.
Ficurs 3,12 - Abertura e fecho de blocos de cédigo
\VaLipagho DE C6160
Relativamente a validagéo do cédigo, 0 Android Studio apresenta a barra de
validacao como uma preciosa ajuda em tempo real. Ou seja, A medida que o programador
digita o cédigo, 0 editor verifica se hd avisos e/ou erros de sintaxe colocando marcadores
individuais para cada situacao (amarelos para avisos e vermelhos para erros).
OFA Eaitera de InformaticaAnpRop Stup1o 49.
Surge também um icone na parte superior da barra:
© Visto verde~cédigo “impo” (sem avisos nem erros);
® — Quadrado amarelo ~ cédigo com avisos;
® Ponto de exclamagao vermelho — cédigo com erros.
Ao passar 0 rato sob 0 icone é exibido um pop-up que contém um resumo dos
problemas encontrados, conforme ilustrado na Figura 3.13.
Ficuna 3.13 — Anilise global do eédigo
Por vezes, vai ser necessirio formatar 0 cédigo devido aos sistematicos copy & paste. Para
reformatar © cédigo-fonte, pressione as teclas Ctrl*Alt+L. Se quiser refinar o local onde essa
reformatacao vai ocorrer, pressione Ctrl+AltsShift+L para exibir a caixa de diélogo Reformat File.
Esta caixa de didlogo oferece a opcao de reformatar apenas 0 cédigo selecionado no momento, todo
© ficheiro atualmente alivo no editor ou todos os ficheiros numa determinada pasta do projeto.
Muito mais haveria a destacar sobre as funcionalidades do Android Studio
relativamente a gestio do cédigo, como, por exemplo, a navegacao pela hierarquia do
cédigo atravas da janela de ferramentas Structure, a sua analise e refatorizagio, Estas e
outras funcionalidades sero introduzidas na obra sempre que sejam pertinentes,
3.14.2 EDICGAO GRAFICA
Android Studio disponibiliza um editor grafico WYSIWYG (Figura 3.14) para
© desenho de interfaces grdficas nas aplicagées Android. No editor podem-se selecionar
componentes graficos (~idgets ou views) a partir de uma paleta e, em seguida, colocé-los
numa drea de desenho representativa de um ecra de um dispositive Android. As views
podem depois ser configuradas através da alteracao das suas propriedades. A janela
pal & constituida por varios elementos:
1) Palette ~ fornece acesso a uma variedade de componentes graficos agru-
paclos em categorias para facilitar a navegacao. Os componentes podem ser
adicionados ao layout arrastando-os para a posicéo desejada no layout, ou
FCA — Eatora de InformaticaMULTIMEDIA
Nos dias de hoje, os dispositives Android oferecem um excelente suporte multimédia
como resposta as necessidades dos utilizadores, aliada & evolucdo das tecnologias de
transferéncia de dados. A reproducio, a gravacio © a caplura de recursos multimédia,
como, por exemplo, 0 video e 0 audio, sio agora mais faceis de implementar com as novas
classes multimédia disponibilizadas pelo SDK do Android. Neste capitulo introduzem-se
as boas priticas de desenvolvimento para a reproducao e gravacio de video e audio, bem
como para a captura de imagens e sua respetiva manipulacao.
8.1 REPRODUCAO DE VIDEO
© Android SDK inclui duas classes que facilitam a reprodusio de video em
dispositivos Android:
© Videoview ~ componente visual que, quando adicionado a um layout de uma
atividade, proporciona uma superficie onde o video é reproduzido;
© Mediacontrol ler — fornece um conjunto de controlos que permitem ao utili-
zador gerir a reproducéo de um video (por exemplo, parar, retomar ou
procurar para trés ou para a frente na linha de tempo do video)
‘A combinacéo destas classes proporciona ao utilizador uma experiéncia rica no
contexto da reprodugao de videos numa aplicagéo Android
8.1.1 CLASSE vipzoView
A classe videoview modela um componente visual para gerir a reprodugio de
videos. Para usar um Videoview numa aplicagao Android, comece por inserir a view no
layout de uma atividade Android: