Você está na página 1de 12

3 Edio

Ricardo R. Lecheta

Novatec

Copyright 2009, 2010, 2013 da Novatec Editora Ltda.


Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998.
proibida a reproduo desta obra, mesmo parcial, por qualquer processo, sem prvia autorizao, por escrito,
do autor e da Editora.
Editor: Rubens Prates
Reviso gramatical: Lia Gabriele Regius/Patrizia Zagni
Editorao eletrnica: Carolina Kuwabata
Capa: Victor Bittow
ISBN: 978-85-7522-344-4
Histrico de impresses:
Maro/2013
Junho/2010
Maro/2009

Terceira edio (ISBN: 978-85-7522-344-4)


Segunda edio (ISBN: 978-85-7522-244-7)
Primeira edio (ISBN: 85-7522-186-0)

Novatec Editora Ltda.


Rua Lus Antnio dos Santos 110
02460-000 So Paulo, SP Brasil
Tel.: +55 11 2959-6529
Fax: +55 11 2950-8869
E-mail: novatec@novatec.com.br
Site: novatec.com.br
Twitter: twitter.com/novateceditora
Facebook: facebook.com/novatec
LinkedIn: linkedin.com/in/novatec

Sumrio

Agradecimentos..................................................................................................................17
Sobre o autor......................................................................................................................18
Prefcio..............................................................................................................................19
Captulo 1 Introduo ao Android......................................................................................21
1.1 Introduo.................................................................................................. 21
1.2 Open Handset Alliance e o Android............................................................23
1.3 Conhecendo um pouco mais sobre o Android.............................................24
1.4 Sistema operacional Linux..........................................................................26
1.5 Mquina virtual Dalvik..............................................................................26
1.6 Cdigo aberto e livre..................................................................................27
1.7 Android Developer Challenge.....................................................................27
1.8 Google Play (Android Market)....................................................................28
1.9 T-Mobile G1..............................................................................................29
1.10 Google Nexus...........................................................................................30
1.11 Desenvolvimento de aplicaes com o Eclipse e Java................................... 31

Captulo 2 Configurao do ambiente................................................................................32


2.1 Android SDK.............................................................................................. 32
2.2 Requisitos de software e sistema.................................................................33
2.3 Instalao do SDK......................................................................................33
2.4 Plataforma (verso do Android)..................................................................34
2.5 Instalando uma plataforma no SDK............................................................36
2.6 Configurao virtual de um celular Android (AVD).....................................46
2.7 Criando uma configurao virtual (AVD).................................................... 47
2.8 Emulador do Android................................................................................50
2.9 Instalando uma aplicao no emulador.......................................................53
2.10 Instalao do plug-in para o Eclipse...........................................................55
2.11 ADT Bundle (Eclipse completo com o Android SDK e o plugin ADT)..........58
2.12 Configurao das preferncias do Eclipse...................................................58
2.13 Criando o primeiro projeto Android no Eclipse.........................................59
2.14 Execuo da aplicao no Eclipse..............................................................65
2.15 Escolhendo o emulador que deve ser executado......................................... 67
7

Google Android 3a edio

2.16 Compreenso dos arquivos gerados no projeto...........................................69


2.17 Aplicaes na tela principal (Home)...........................................................76
2.18 Visualizao das aplicaes instaladas........................................................78
2.19 ADB (Android Debug Bridge)....................................................................80
2.20 Alterando a resoluo do emulador...........................................................83
2.21 Perspectiva DDMS do Eclipse....................................................................86
2.22 Instalao do exemplo ApiDemos do SDK.................................................87
2.23 Como fazer o download dos exemplos do livro..........................................88
2.24 Importante Resumo das configuraes necessrias..................................89

Captulo 3 Conceitos bsicos do Android.............................................................................91


3.1 Activity, View e o mtodo setContentView(view).......................................... 91
3.2 A classe R...................................................................................................93
3.3 Arquivo AndroidManifest.xml....................................................................94
3.4 Criao do projeto Android para este captulo.............................................97
3.5 Criao da interface visual em XML novo exemplo...................................97
3.6 Criao da interface visual com a API Java................................................. 103
3.7 Acesso aos elementos da tela o mtodo findViewById(id)........................ 104
3.8 Tratamento de eventos.............................................................................. 106
3.9 LogCat onde est o System.out.println()?............................................... 109

Captulo 4 Activity........................................................................................................... 113


4.1 Activity.....................................................................................................113
4.2 Ciclo de vida de uma activity (atividade)....................................................115
4.3 Exemplo de aplicao sobre o ciclo de vida................................................118
4.4 Navegao entre telas e inicializao de uma nova activity.......................... 122
4.5 Passagem de parmetros para a prxima tela............................................. 129
4.6 Atalho para passar parmetros para a prxima tela..................................... 131
4.7 ListActivity exibio de uma lista de itens na tela.................................... 132
4.8 ArrayAdapter preenchimento da lista com um array de strings ............... 134
4.9 Construo de um menu para abrir as telas da aplicao........................... 135
4.10 Encerramento de uma activity o mtodo finish()................................... 139
4.11 Exibio dos contatos da agenda em uma lista......................................... 139
4.12 SimpleAdapter exibio de valores fixos em uma lista............................ 143
4.13 SimpleAdapter uso de um arquivo XML customizado............................ 145
4.14 Criao de um ListAdapter customizado com imagens..............................147

Captulo 5 Intent............................................................................................................. 152


5.1 Intent envio de uma mensagem ao Android............................................. 152
5.2 Navegao entre telas e envio de parmetros.............................................. 153
5.3 Exemplos de Intent nativas do Android..................................................... 154
5.4 Abrindo o browser.................................................................................... 154
5.5 Fazer uma ligao para um nmero de telefone.......................................... 159
5.6 Visualizao de um contato da agenda.......................................................161

Sumrio

5.7 Visualizao de todos os contatos cadastrados no celular........................... 162


5.8 Retornando resultados de um Intent startActivityForResult(...)................ 164
5.9 Como retornar resultados de um activity................................................... 169
5.10 Qual mtodo utilizar? startActivity(...) ou startActivityForResult(...) ?....... 173
5.11 Outros exemplos de como chamar aplicaes nativas................................ 175
5.12 Intent ento isso tudo o que ela faz?................................................... 176

Captulo 6 Interface grfica gerenciadores de layout..................................................... 179


6.1 View......................................................................................................... 179
6.2 ViewGroup a classe-me de todos os gerenciadores de layouts................. 180
6.3 FrameLayout........................................................................................... 182
6.4 LinearLayout........................................................................................... 188
6.5 LinearLayout controle do alinhamento layout_gravity......................... 190
6.6 LinearLayout controle do peso e relevncia de cada componente.......... 192
6.7 TableLayout uso de uma tabela com linhas e colunas.............................. 195
6.8 TableLayout e shrinkColumns contrao de colunas............................... 196
6.9 TableLayout e strechColumns expanso de colunas................................. 197
6.10 TableLayout criao de um formulrio.................................................. 198
6.11 RelativeLayout.........................................................................................200
6.12 AbsoluteLayout (deprecated).................................................................. 203
6.13 Uso de mais de um layout para criar telas complexas................................204
6.14 Criao de um layout pela API LinearLayout.........................................206
6.15 Criao de um layout pela API TableLayout..........................................208
6.16 Outras subclasses de ViewGroup............................................................. 210
6.17 ScrollView.............................................................................................. 210
6.18 GridView.................................................................................................212
6.19 Gallery................................................................................................... 215
6.20 ImageSwitcher.........................................................................................217
6.21 WebView exibio de uma pgina web em sua aplicao.........................219
6.22 TabHost..................................................................................................221
6.23 ViewPager.............................................................................................. 224

Captulo 7 Interface grfica View.................................................................................. 228


7.1 Definio de recursos de texto, cores e imagens........................................... 228
7.2 Arquivo XML com as mensagens da aplicao........................................... 229
7.3 Arquivo XML com as cores....................................................................... 230
7.4 Arquivo XML para criar um estilo css.........................................................231
7.5 Exemplo completo com estilos.................................................................. 232
7.6 Temas...................................................................................................... 234
7.7 View A classe responsvel por desenhar elementos na tela........................ 237
7.8 Definio das dimenses.......................................................................... 239
7.9 TextView.................................................................................................. 240
7.10 EditText Campo de texto para digitar informaes..................................241
7.11 AutoCompleteTextView........................................................................... 243

10

Google Android 3a edio

7.12 Button e ImageButton............................................................................. 245


7.13 CheckBox e ToggleButton........................................................................ 247
7.14 RadioButton........................................................................................... 249
7.15 Spinner................................................................................................... 253
7.16 ProgressDialog criao de uma janela de progresso por tempo indeterminado... 256
7.17 ProgressBar criao de uma barra de progresso...................................... 259
7.18 Toast exibio de alertas para o usurio................................................. 262
7.19 LayoutInflater transformao de um arquivo XML em um objeto View...263
7.20 Criao de um alerta de confirmao...................................................... 265
7.21 ListView.................................................................................................268
7.22 Outros componentes.............................................................................. 270
7.23 Adio de menus na aplicao..................................................................271
7.24 Trabalhando com submenus................................................................... 275
7.25 Criao de sua prpria classe View customizada......................................277
7.26 Desenho manual com a classe Canvas..................................................... 281
7.27 Movimentao de um objeto pela tela.....................................................283
7.28 Movimentao de uma imagem pela tela.................................................286
7.29 Movimentao de uma imagem pela tela usando TouchScreen .................290
7.30 Fragments ............................................................................................. 293

Captulo 8 Intent Filter.................................................................................................... 295


8.1 Especificao de uma ao para uma Intent...............................................295
8.2 Configurao do <intent-filter> para a aplicao principal.........................296
8.3 Ao e categoria: como identificar uma Intent........................................... 297
8.4 Abertura de uma activity usando uma ao...............................................298
8.5 Entendendo melhor o conceito de filtros...................................................300
8.6 Uso de uma categoria customizada............................................................301
8.7 Por que criar uma ao e categoria para uma Intent?.................................. 303
8.8 Exemplo completo de IntentFilter.............................................................304
8.9 Chamando uma activity de outra aplicao............................................... 307
8.10 Substituindo a tela Home.........................................................................310
8.11 Substituindo o aplicativo que faz a ligao................................................. 311

Captulo 9 BroadcastReceiver.......................................................................................... 313


9.1 Introduo.................................................................................................313
9.2 Duas opes para configurar um BroadcastReceiver....................................315
9.3 Envio de uma mensagem com o mtodo sendBroadcast(intent)...................315
9.4 Projeto de exemplo do BroadcastReceiver....................................................316
9.5 Ciclo de vida............................................................................................ 320
9.6 Execuo de um BroadcastReceiver ao inicializar o sistema operacional...... 322
9.7 Configurao de uma aplicao para ser iniciada apenas com um
BroadcastReceiver..................................................................................... 324
9.8 Duas opes para configurar um BroadcastReceiver................................... 326
9.9 Recebimento de uma mensagem SMS com um BroadcastReceiver .............. 327

Sumrio

11

9.10 Uso de um servio para processamento pesado em segundo plano............ 327


9.11 Abertura de uma tela/activity a partir de um BroadcastReceiver................. 327
9.12 Interao com o usurio por meio de uma notificao.............................. 328

Captulo 10 Notification.................................................................................................. 329


10.1 Por que usar uma notificao para se comunicar com o usurio................ 329
10.2 Um exemplo de notificao..................................................................... 330
10.3 Construo de um exemplo prtico......................................................... 333
10.4 Entendendo o exemplo........................................................................... 337
10.5 Outras opes ao disparar uma Intent de uma notificao........................ 339
10.6 Notificaes no Android 3.x ou superior.................................................. 339
10.7 Notification.Builder em detalhes............................................................. 342
10.8 Observaes...........................................................................................346

Captulo 11 Service......................................................................................................... 348


11.1 Por que utilizar a classe Service................................................................348
11.2 As duas maneiras de iniciar um servio em segundo plano....................... 350
11.3 Inicializao de um servio com o mtodo startService(intent)...................351
11.4 Exemplo inicializao de um servio com o mtodo startService(intent)..351
11.5 Entendendo o ciclo de vida de um servio................................................ 357
11.6 Deixar o servio executando depois sair de uma tela................................. 362
11.7 Inicializao de um servio como mtodo bindService(intent,con,flags)....363
11.8 Qual mtodo utilizar para iniciar um servio?.......................................... 369
11.9 Servio executando em um processo diferente da sua aplicao................. 370
11.10 Criao de uma interface AIDL............................................................... 370
11.11 A classe IntentService.............................................................................. 373
11.12 Exemplo completo com servio e notificao.......................................... 375
11.13 Como criar uma aplicao que no iniciada pelo usurio?.................... 381
11.14 Um servio em execuo contnua no consome muito processamento?...382

Captulo 12 AlarmManager............................................................................................. 383


12.1 Porque utilizar um alarme (agendar uma tarefa).......................................383
12.2 Mtodo da classe AlarmManager.............................................................384
12.3 Criao de um exemplo para agendar um alarme.....................................384
12.4 Executando um alarme mais de uma vez..................................................388
12.5 Quando utilizar ou no um alarme......................................................... 390

Captulo 13 Handler, Threads e AsyncTask........................................................................ 391


13.1 Introduo...............................................................................................391
13.2 Por que utilizar um handler?................................................................... 392
13.3 Envio de uma mensagem......................................................................... 392
13.4 Tipos dos mtodos sendMessage(mensagem)........................................... 395
13.5 Execuo de um Runnable com o mtodo postMessage(runnable)........... 395
13.6 Atualizao da view dentro de uma thread............................................... 396

12

Google Android 3a edio

13.7 Mtodo runOnUiThread() da classe Activity............................................ 401


13.8 Implementao de um tela Splash Screen para sua aplicao.....................403
13.9 No utilize o Thread.sleep(ms)!...............................................................405
13.10 Classe AsyncTask.................................................................................. 407

Captulo 14 Banco de dados............................................................................................. 416


14.1 SQLite.................................................................................................... 416
14.2 Criao do banco de dados com o SQLite Expert Personal........................417
14.3 Copiando o banco de dados para o emulador.......................................... 420
14.4 Abrindo o banco de dados........................................................................421
14.5 Insero de registros no banco de dados...................................................421
14.6 Atualizao de registros no banco de dados............................................. 422
14.7 Excluso de registros do banco de dados.................................................. 423
14.8 Busca de registros no banco de dados...................................................... 424
14.9 Juntando as peas................................................................................... 425
14.10 Construo de uma lista para visualizar os carros cadastrados................ 430
14.11 Adio de um menu e eventos na tela de lista de carros............................ 433
14.12 Criao da tela com o formulrio para inserir e editar carros...................436
14.13 Criao da tela com o formulrio para buscar um carro pelo nome......... 439
14.14 Execuo da aplicao de cadastro......................................................... 441
14.15 Criao de um banco de dados diretamente com a API...........................443
14.16 Outras formas de armazenamento de dados...........................................448
14.17 Lendo e salvando arquivos.....................................................................448
14.18 Salvando um arquivo no diretrio privado da aplicao..........................449
14.19 Salvando um arquivo no sdcard............................................................. 453
14.20 Salvando as preferncias do usurio com a classe SharedPreferences........ 456
14.21 Como fao para o Android se conectar ao banco de dados no servidor?...460
14.22 Fazendo backup no cloud...................................................................... 461
14.23 Fazendo backup de um arquivo.............................................................466

Captulo 15 Content Provider........................................................................................... 468


15.1 Por que utilizar a classe ContentProvider provedor de contedo..............468
15.2 URI Immutable URI reference..............................................................469
15.3 Exemplos de provedores de contedo nativos........................................ 470
15.4 Leitura de informaes............................................................................ 472
15.5 Mtodos da classe Cursor....................................................................... 473
15.6 Como ler todos os telefones e a foto de um contato.................................. 474
15.7 Relembrando um exemplo de Intent........................................................ 478
15.8 Entendendo a sintaxe da Uri: content://authority/path/id........................ 479
15.9 A classe ContentProvider.........................................................................480
15.10 Implementao da classe CarroProvider de forma correta........................482
15.11 Classe esttica Carros.............................................................................487
15.12 Exemplo para testar a classe CarroProvider.............................................488

Sumrio

13

15.13 possvel usar a classe CarroProvider em outra aplicao?...................... 493


15.14 Uso de uma Intent com a ao ACTION_VIEW...................................... 495
15.15 possvel criar o mesmo exemplo para cadastrar contatos na agenda?.....500

Captulo 16 Mapas e GPS................................................................................................. 501


16.1 Introduo.............................................................................................. 501
16.2 Google Maps Android API - Verso 2.......................................................503
16.3 Instalando o Google Play services SDK....................................................504
16.4 Configurando o AndroidManifest.xml.....................................................506
16.5 Obtendo a chave dos Mapas no Google APIs Console..............................509
16.6 A classe MapFragment.............................................................................516
16.7 Executando o projeto no seu smartphone.................................................518
16.8 A classe SupportMapFragment.................................................................519
16.9 Utilizando o mtodo findFragmentById para encontrar o fragment.......... 520
16.10 A classe GoogleMap...............................................................................521
16.11 Configurando o tipo do mapa................................................................ 522
16.12 Localizao do mapa - Latitude e longitude............................................ 523
16.13 CameraPosition Zoom........................................................................ 525
16.14 CameraPosition..................................................................................... 527
16.15 CameraPosition - Bearing rotao........................................................ 528
16.16 CameraPosition Tilt inclinao......................................................... 529
16.17 Monitorando os eventos do mapa.......................................................... 532
16.18 Inserindo um mapa no layout dinamicamente pela API.......................... 534
16.19 Marcadores........................................................................................... 537
16.20 Polyline Desenhando uma linha no mapa........................................... 543
16.21 Location Source....................................................................................544
16.22 GPS...................................................................................................... 547
16.23 Provedores de GPS, por satlite ou triangulao de antenas..................... 552
16.24 Otimizando a utilizao do GPS............................................................ 554
16.25 Descobrindo se o GPS est ativado........................................................ 554
16.26 Desenhando uma rota entre dois pontos................................................ 557

Captulo 17 Http, sockets e web services.......................................................................... 559


17.1 Comunicao com um servidor................................................................ 559
17.2 Uso de sockets........................................................................................560
17.3 Criao do projeto socket no servidor......................................................560
17.4 Criao do projeto-cliente no Android.....................................................564
17.5 Reviso dos conceitos..............................................................................568
17.6 Comunicao com o servidor por meio do protocolo HTTP.....................569
17.7 Criao de um projeto web no Eclipse......................................................569
17.8 Criao de uma aplicao para fazer o download de um arquivo-texto...... 573
17.9 Criao de uma aplicao para o download de uma imagem..................... 581
17.10 Envio de parmetros por POST...............................................................584

14

Google Android 3a edio

17.11 Exemplo buscando carros do servidor.....................................................588


17.12 Jakarta Commons HttpClient................................................................ 595
17.13 Acesso a um web service......................................................................... 599
17.14 Criao do projeto servidor com um Web Service....................................600
17.15 Criao de um cliente de web service no Android....................................603
17.16 Onde buscar mais informaes...............................................................609
17.17 Reviso..................................................................................................609

Captulo 18 SMS.............................................................................................................. 611


18.1 Introduo............................................................................................... 611
18.2 Envio de uma mensagem SMS por telnet..................................................612
18.3 Envio de uma mensagem SMS pelo Eclipse.............................................. 613
18.4 Criao do projeto de exemplo.................................................................614
18.5 Classe Sms que envia e recebe uma mensagem SMS..................................618
18.6 Mtodo enviarSms(contexto,destino,mensagem)........................................619
18.7 Mtodo receberMensagem(intent)........................................................... 620
18.8 Execuo do exemplo..............................................................................621
18.9 Enviando SMS e email por Intent............................................................ 623
18.10 Concluso............................................................................................. 623

Captulo 19 Multimdia udio, vdeo e cmera.............................................................. 624


19.1 Formatos de udio e vdeo suportados..................................................... 624
19.2 Reproduo de udio com duas linhas de cdigo..................................... 624
19.3 Um segundo exemplo.............................................................................. 625
19.4 Simulao de um carto de memria (SD-Card)....................................... 627
19.5 Entendendo a classe MediaPlayer............................................................ 629
19.6 Criao do player Mp3.............................................................................631
19.7 Listagem de todas as msicas do carto de memria................................ 635
19.8 Uso de um servio para reproduzir uma msica em segundo plano...........638
19.9 Criao de uma aplicao para utilizar o servio de mp3.......................... 641
19.10 Reproduo de vdeos de uma forma simples com o VideoView...............646
19.11 Utilizando a cmera...............................................................................648
19.12 Salvando a foto com o tamanho real........................................................651
19.13 Cuidado com a memria ao manipular imagens..................................... 654
19.14 Enviando a imagem para o servidor........................................................ 657

Captulo 20 GCM Google Cloud Messaging..................................................................... 659


20.1 O que Push?......................................................................................... 659
20.2 Criando o projeto no Google APIs Console.............................................660
20.3 Obtendo as chaves necessrias para enviar o Push.................................... 661
20.4 Criando o projeto Android cliente...........................................................663
20.5 Fazendo o registro no GCM.................................................................... 672
20.6 Abrindo a aplicao depois de registrar no GCM..................................... 674
20.7 Criando o projeto servidor para enviar a mensagem (Push)...................... 675

Sumrio

15

20.8 Recebendo a mensagem de Push no aparelho.......................................... 678


20.9 Recebendo a mensagem por um BroadcastReceiver.................................. 679
20.10 Recebendo a mensagem por uma notificao..........................................682
20.11 Fazendo um POST manual no Google para enviar a mensagem...............685

Captulo 21 Reconhecimento de gestos............................................................................ 689


21.1 Introduo..............................................................................................689
21.2 Criando a biblioteca de gestos.................................................................690
21.3 Criando o projeto para utilizar os gestos criados...................................... 693
21.4 Como salvar gestos na GestureLibrary?....................................................699
21.5 Detectando gestos comuns, como scroll lateral.........................................700
21.6 Deixando o exemplo mais interessante: adicionando animaes!..............706
21.7 Detectando gesto de Pinch (zoom)...........................................................709

captulo 22 Sensores....................................................................................................... 717


22.1 Como obter a lista de sensores disponveis................................................717
22.2 As classes Sensor e SensorManager.......................................................... 720
22.3 Sensor de luminosidade...........................................................................721
22.4 Sensor de temperatura............................................................................ 725
22.5 Sensor de orientao Construindo uma bssola.................................... 726
22.6 Sensor de proximidade............................................................................731
22.7 Sensor de Acelermetro........................................................................... 732
22.8 Movendo uma view pela tela com o acelermetro.................................... 742

Captulo 23 Bluetooth..................................................................................................... 745


23.1 Verificando se o aparelho suporta Bluetooth............................................. 745
23.2 Exemplos deste captulo......................................................................... 746
23.3 Ativando o bluetooth por programao.................................................... 747
23.4 Listando os dispositivos pareados............................................................ 752
23.5 Buscar por novos dispositivos Bluetooth.................................................. 755
23.6 Deixando o bluetooth visvel para ser encontrado.................................... 758
23.7 Encontrando um dispositivo diretamente pelo endereo............................761
23.8 BluetoothServerSocket Abrindo o servidor para aguardar mensagens..... 762
23.9 BluetoothSocket - Conectando-se a um dispositivo bluetooth...................768
23.10 Conectando-se ao Bluetooth pela Serial..................................................779

Captulo 24 Text-To-Speech e Speech-To-Text................................................................... 780


24.1 Introduo ao TTS e STT........................................................................ 780
24.2 Engine de voz..........................................................................................781
24.3 Hello TTS - Faa seu Android falar...........................................................781
24.4 Criando o segundo exemplo com TTS..................................................... 783
24.5 Sintetizando a fala para arquivo.............................................................. 785
24.6 Informando o idioma - Locale.................................................................790
24.7 Falando em portugus............................................................................790

16

Google Android 3a edio

24.8 Instalando uma engine de voz em portugus........................................... 793


24.9 Reconhecimento de voz por intent........................................................... 794
24.10 Reconhecimento de voz por um listener................................................. 798

Captulo 25 NDK Desenvolvimento nativo com C/C++................................................... 802


25.1 Introduo.............................................................................................. 802
25.2 Instalao do NDK.................................................................................803
25.3 Criando um exemplo com a linguagem C................................................804
25.4 Compilando a biblioteca nativa............................................................... 807
25.5 Exemplo da calculadora com cdigo nativo.............................................809

Captulo 26 Google Play.................................................................................................. 813


26.1 Controle da verso de sua aplicao......................................................... 813
26.2 Compilando o projeto corretamente.........................................................814
26.3 Obteno de um certificado digital para assinar sua aplicao.................. 815
26.4 Assinando a aplicao para publicar no Google Play................................ 816
26.5 Publicando no Google Play .................................................................... 818
26.6 Livro Google Android para Tablets.......................................................... 818