terça-feira, 13 de janeiro de 2015

Dominando o Android - Atualização 1 - Capítulo 14

Olá pessoal,

Acho que com o livro as atualizações aqui do blog ficarão mais frequentes. Pelo menos é o que eu espero. Vou fazer o possível para colocar as correções/atualizações aqui através de mini-posts falando rapidamente sobre a mudança e o por quê.

Para quem não sabe, o código-fonte dos exemplos do livro estão disponíveis no meu gitHub (https://github.com/nglauber/dominando_android). E lá vocês vão ver dois branchs master e master_updates. O código que estiver com algum bug, eu vou corrigir e colocar no branch master e o que for atualização ficará no branch master_updates.
Também criei um grupo de discussão (http://groups.google.com.br/d/forum/livro-dominando-o-android) que todos podem se inscrever.

Recebi hoje uma avaliação do livro que informava que o mesmo "tinha uma falha grave" e "estava desatualizado" porque eu não estou utilizando API do Google Play Services 6.5. E que uma classe (a LocationClient) que eu usava no exemplo não existia.

Não sei se todos sabem, mas o processo de finalização de um livro requer algumas etapas que demandam tempo: revisão ortográfica, diagramação, checar figuras, referências, tempo de impressão na gráfica, etc.  A versão 6.5 do Google Play Services foi anunciada no dia 17/11/2014, mas só foi disponibilizada para os desenvolvedores dia 08/12/2014. Época que o livro já estava com a editora em processo de finalização e impressão. Sendo assim, não pude atualizar o capítulo 14 (Mapas e Localização) a tempo. Sendo assim, peço desculpas pelo meu livro ter ficado desatualizado, por conta de alguns dias... :(
Mas quero reiterar que o código apresentado no livro funciona perfeitamente do jeito que ele se encontra.

--

Pedido de desculpas feito, vamos ao que mudou! As alterações feitas em relação ao exemplo do livro estão nesse commit aqui no branch master_updates, uma vez que é uma atualização da nova API e não uma correção de um erro do livro.

Conforme o comentário do leitor, a classe com.google.android.gms.location.LocationClient não existe mais. Mas seus métodos foram distribuídos em outras classes.
  • Na classe GeofenceReceiver, os eventos de Geofence podem ser tratados com a classe GeofencingEvent.
  • Na classe MainActivity, muito do que era feito com a LocationClient passou a ser responsabilidade da GoogleApiClient, inclusive os eventos de conexão (ConnectionCallbacks e OnConnectionFailedListener).
  • Ainda na MainActivity para obter a localização atual passamos a utilizar a classe LocationServices.FusedLocationApi. Bem como para requisitar atualizações sobre mudança na localização.
  • E finalmente, para adicionar um Geofence, usamos a classe LocationServices.GeofencingApi.
Isso é um resumo pessoal. Quem quiser mais informações sobre essa nova API, recomendo esses links:



Qualquer dúvida, sugestão ou crítica serão muito bem-vindas.

4br4ç05,
nglauber

10 comentários:

LeoGrav disse...

Glauber, estou lendo seu livro. Ele é ótimo!!! Parabéns por essa grande contribuição para o desenvolvimento Android!

Lógico que atualizações vão surgindo. O que não desmerece de forma alguma a obra. O profissional de TI deve estar acostumado com isso. "Pega" uma base e depois corre atrás do que surgir de novidade.

Mais uma vez parabéns!

Emanuel B B MARTINS disse...

Boa tarde NELSON!
Já estão pensando em uma versão digital do livro?
Fico na expectativa...

Nelson Glauber disse...

Oi Emanuel,

Infelizmente a Novatec não trabalha com livros digitais ainda.

4br4ç05,
nglauber

Adelson disse...

Nelson primeiramente Parabéns pela dedicação em escrever o livro.(Comprarei em breve).
Quero aprender de uma vez por todas como usar a lib volley. Lhe pergunto, tem no livro ensinando como carregar um listView com imagens do servidor + dados vindo de um db mysql.
Tipo: foto do produto + preço + quantidade desponivel + descrição ?

Att. Adelson Rescarolli

Nelson Glauber disse...

Oi Adelson,

Em um dos exemplo abordo a utilização do Volley. Já com relação ao MySQL, ele é um banco de dados utilizado normalmente em aplicações servidoras que vão além do escopo do livro. Sugiro olhar o manual do MySQL (http://downloads.mysql.com/docs/refman-4.1-pt.a4.pdf)
No livro, mostro como carregar dados vindos do servidor (inclusive a foto) em uma aplicação Android (independente de como é armazenado no servidor).

4br4ç05,
nglauber

Adelson disse...

Obrigado pela atenção e pela rapidez na resposta. Conforme disse, acabei de comprar sua obra. Agora é só esperar chegar.
SUCESSO para vc no google, você merece Nelson.

4br4ç05
Adelson Rescarolli
www.sdexpress.com.br

Unknown disse...

Olá, gostaria de saber qual IDE você utiliza para os exemplos do livro. É o Android Studio?
Obrigada!

Nelson Glauber disse...

Oi Gracyane,

No livro uso Android Studio. Afinal, é a IDE padrão para Android...

Tinha outra... qual era o nome dela mesmo??? Ah! Eclipse :D #nostalgia

4br4ç05,
nglauber

Mabreu disse...

Glauber,

Tenho empresa de TI e estamos adquirindo vossa obra para estudos.Você também desenvolve sistemas para android sob encomenda?

Nelson Glauber disse...

Oi Mabreu,

Eu trabalho durante o dia e dou aula (que também é trabalho:) à noite. Sem contar palestras e eventos... Então fica complicado.

4br4ç05,
nglauber