Páginas

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:

  1. 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!

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

    ResponderExcluir
  3. Oi Emanuel,

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

    4br4ç05,
    nglauber

    ResponderExcluir
  4. 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

    ResponderExcluir
  5. 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

    ResponderExcluir
  6. 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

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

    ResponderExcluir
  8. 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

    ResponderExcluir
  9. Glauber,

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

    ResponderExcluir
  10. 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

    ResponderExcluir