Você está na página 1de 8

Nelson Glauber de Vasconcelos Leal

Novatec

Copyright 2015 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: Marta Almeida de S
Editorao eletrnica: Carolina Kuwabata
Assistente editorial: Priscila A. Yoshimatsu
Capa: Leo Macedo
ISBN: 978-85-7522-412-0
Histrico de impresses:
Janeiro/2015

Primeira edio

Novatec Editora Ltda.


Rua Lus Antnio dos Santos 110
02460-000 So Paulo, SP Brasil
Tel.: +55 11 2959-6529
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.......................................................................................................13
Sobre o autor...........................................................................................................14
Prefcio...................................................................................................................15
A quem se destina este livro........................................................................ 16

Introduo...............................................................................................................17
O que o Android?.................................................................................... 17
Google Play................................................................................................ 19
Instalao e configurao do ambiente........................................................20
Android Virtual Device...............................................................................22
Emulador Genymotion...............................................................................25

Captulo 1 Conceitos bsicos...................................................................................29


Iniciando um novo projeto com Android Studio..........................................29
Executando a aplicao...............................................................................39
Processo de compilao..............................................................................40
Alocao dinmica de recursos................................................................... 41
Android Debug Monitor e Logcat...............................................................46
findViewById e evento de clique..................................................................48

Captulo 2 Activity e Intents...................................................................................52


Activity...................................................................................................... 52
Passando objetos em Intents.......................................................................56
Ciclo de vida da Activity.............................................................................59
Tratando mudana de orientao................................................................ 61
Orientao e o estado da Activity................................................................62
Obtendo dados de outra activity.................................................................68
Intents implcitas........................................................................................ 74
7

Dominando o Android

Captulo 3 Layouts................................................................................................. 82
Largura e altura..........................................................................................82
Padding e Margin.......................................................................................84
FrameLayout..............................................................................................87
RelativeLayout............................................................................................89
LinearLayout.............................................................................................. 91
TableLayout...............................................................................................96
GridLayout................................................................................................97
ScrollView................................................................................................ 100

Captulo 4 Componentes Parte I......................................................................... 102


TextView.................................................................................................. 102
EditText................................................................................................... 108
Mais componentes.....................................................................................118
ListView e Adapter customizados.............................................................. 125
ExpadableListView................................................................................... 138
AutoCompleteTextView............................................................................ 143

Captulo 5 Componentes Parte II........................................................................ 150


Formato 9-Patch....................................................................................... 150
Utilizao de estilos.................................................................................. 153
Selectors................................................................................................... 156
WebView................................................................................................. 163
Views customizadas.................................................................................. 167
Atributos personalizados...........................................................................181

Captulo 6 Action bar e fragments......................................................................... 184


Fragment................................................................................................. 184
Action Bar................................................................................................200
AlertDialog e DialogFragment..................................................................208
Usando o boto Up...................................................................................219
Seleo mltipla com action bar.................................................................221
Retendo a instncia do Fragment.............................................................. 227
Tipos de navegao na action bar.............................................................. 228
Empilhando Fragments.............................................................................251
Ao de compartilhamento....................................................................... 252

Sumrio

Captulo 7 Persistncia de dados........................................................................... 255


Shared Preferences.................................................................................... 255
Lendo e escrevendo arquivos..................................................................... 256
Arquivos na memria interna.................................................................... 261
Arquivos no carto de memria................................................................ 262
Banco de dados SQLite............................................................................. 265
Content Provider, Cursor Loader e Cursor Adapter....................................280

Captulo 8 Acesso web Parte I.......................................................................... 295


Conectando rede....................................................................................295
Cada um na sua thread.............................................................................296
Tarefas assncronas................................................................................... 297
Estabelecendo a conexo..........................................................................298
JSON.......................................................................................................300
Lendo um JSON assincronamente via HTTP..............................................301
Carregando imagens da web......................................................................312
Comunicao HTTP eficiente com volley...................................................317
Lendo arquivos XML................................................................................ 328

Captulo 9 Broadcast receiver............................................................................... 333


Capturando eventos................................................................................. 333
Declarando um broadcast receiver............................................................. 334
Tratando eventos do sistema..................................................................... 338
Detectando a presena de conectividade....................................................340

Captulo 10 Acesso web Parte II....................................................................... 343


Padro REST............................................................................................ 343
Web service REST com PHP......................................................................344
Preparando a aplicao para a web............................................................348
Acessando um web service........................................................................ 353
Upload de arquivos................................................................................... 358

Captulo 11 Services............................................................................................. 366


Quando utilizar um servio?.....................................................................366
Criando um servio.................................................................................. 367
Utilizando a classe IntentService...............................................................368
Conectando-se a um servio..................................................................... 373

10

Dominando o Android

Captulo 12 Notificaes....................................................................................... 386


Barra de status e notification drawer.........................................................386
Atributos de uma notificao....................................................................387
Criando notificaes.................................................................................389
Disparando uma notificao..................................................................... 393
Notificaes customizadas........................................................................400

Captulo 13 APIs do Google................................................................................... 404


Google Cloud Messaging..........................................................................404
YouTube Android Player API..................................................................... 422
Propaganda com o AdMob........................................................................ 427
Google+................................................................................................... 434

Captulo 14 Mapas e localizao........................................................................... 449


Google Maps v2.......................................................................................449
Mapas e coordenadas............................................................................... 452
Localizao.............................................................................................. 456
Obtendo a localizao atual do aparelho................................................... 457
Buscando um endereo.............................................................................462
Traando rotas......................................................................................... 472
Monitorando a localizao do usurio....................................................... 479
Trabalhando com reas demarcadas (Geofence).........................................482

Captulo 15 Contatos e SMS.................................................................................. 489


Content Provider de contatos....................................................................489
Inserindo contatos....................................................................................496
Recebendo e enviando mensagens SMS.....................................................499

Captulo 16 Bluetooth.......................................................................................... 506


Bluetooth API...........................................................................................506
Processo de conexo.................................................................................509
Enviando e recebendo mensagens..............................................................514

Captulo 17 AppWidgets....................................................................................... 530


Widget API............................................................................................... 530
AppWidgetProviderInfo.............................................................................531
Layout de um widget................................................................................ 532
AppWidgetProvider.................................................................................. 533

Sumrio

11

Widgets + Service..................................................................................... 536


Widgets de listagem.................................................................................. 542

Captulo 18 Multimdia......................................................................................... 551


Cmera.....................................................................................................551
Tirando fotos........................................................................................... 554
Alterando o papel de parede do aparelho................................................... 559
Gravando vdeos...................................................................................... 561
Criando uma activity de cmera................................................................565
udio....................................................................................................... 575
Gravando udio....................................................................................... 576
Reconhecimento de voz via intent.............................................................. 581
Reconhecimento de voz com SpeechRecognizer.......................................... 585
Efeitos sonoros..........................................................................................591

Captulo 19 Animaes......................................................................................... 597


View Animations...................................................................................... 597
Property Animations................................................................................606
Animao quadro a quadro........................................................................612
Transies de tela..................................................................................... 615
Consideraes sobre animaes................................................................ 620

Captulo 20 Gestos e toque na tela........................................................................ 621


Detectando toques na tela..........................................................................621
Detectando gestos..................................................................................... 624
Drag and Drop..........................................................................................631

Captulo 21 Sensores............................................................................................ 638


Trabalhando com sensores........................................................................638
Listando todos os sensores do aparelho..................................................... 641
Utilizando o acelermetro.........................................................................644

Captulo 22 Gradle............................................................................................... 655


Viso geral............................................................................................... 655
Projeto e mdulos.....................................................................................656
Configuraes de build.............................................................................656
Estrutura de um projeto........................................................................... 657
Dependncias........................................................................................... 658
Tarefas..................................................................................................... 659

12

Dominando o Android
Trabalhando com mdulos.......................................................................660
Configuraes bsicas de build.................................................................664
Tipos de build, ProGuard e dependncias..................................................666
Assinatura do aplicativo............................................................................ 667
Configurando o lint..................................................................................668
Build variants........................................................................................... 670

Captulo 23 Android Wear Parte I....................................................................... 674


Introduo............................................................................................... 674
Configurao do ambiente........................................................................ 675
Notificaes no Android Wear...................................................................682
Node API, Message API e Data API............................................................ 692
Comunicao entre smartphone e smartwatch...........................................696

Captulo 24 Android Wear Parte II...................................................................... 730


Formatos de tela....................................................................................... 730
Exibindo Cards........................................................................................ 733
Trabalhando com listas............................................................................. 738
Exibindo confirmaes............................................................................. 743

Captulo 25 Android Lollipop................................................................................ 747


Configurando o ambiente......................................................................... 747
Material Design........................................................................................ 749
Profundidade da View...............................................................................751
CardView................................................................................................. 752
RecyclerView............................................................................................ 753
Animaes circulares................................................................................760
Transies de tela..................................................................................... 763
Transio com itens compartilhados..........................................................768
Animaes no selector..............................................................................770
Notificaes no Lollipop........................................................................... 771
Mais recursos........................................................................................... 774

Captulo 26 Google Play....................................................................................... 778


Preparao do cdigo-fonte.......................................................................778
Gerao do APK....................................................................................... 780
Registro de desenvolvedor......................................................................... 782
Publicando o aplicativo............................................................................. 784

Você também pode gostar