34 votes

LocationClient vs LocationManager

Quelle est la différence entre LocationClient et LocationManager .

Quels sont les avantages et les inconvénients entre eux (comme la batterie, la précision)?

Quel est le meilleur à utiliser?

34voto

Naresh R Points 1469

Location Manager a été introduit dans le SDK Android et peut être utilisé comme une fonctionnalité d'android.

Location Client est quelque chose qui fait partie de Google Play SDK et est introduit dans le récent Google IO 2013.

On peut comprendre que, depuis l'Emplacement du Client est la dernière, il est plus efficace dans l'obtention de l'emplacement avec un minimum d'énergie(batterie) avec plus de précision.

Sur le lien suivant vous pouvez trouver IO parler de ce sujet http://www.youtube.com/watch?v=Bte_GHuxUGc

15voto

geekoraul Points 347

J'ai été le développement d'un emplacement application android et j'ai sérieusement recommandons PAS l'utilisation de l'EMPLACEMENT du CLIENT dans tous les cas. Raisons :

  1. L'emplacement de mise à jour de comportement est très anormal et ne fonctionnent pas comme prévu. c'est à dire L'emplacement des mises à jour coincé lors de la commutation de réseaux. (Il continue à vous donner quelques vieux emplacement)

  2. L'emplacement du client l'habitude de travailler sur modifiés android versions de l'OS android, car il exige de Google play services.

Avec mon expérience, l'Emplacement du Client peut être une bonne idée sur la batterie du téléphone, mais il ne sera pas bonne à vous donner en temps opportun de l'emplacement exact des mises à jour.

Je recommande ce bon vieux directeur des lieux que je ne trouve pas l'emplacement du client fiable du tout.

P. S. : Il n'y a pas de point d'économiser la batterie si vous n'êtes même pas l'obtention de votre emplacement actuel dans un emplacement en fonction de l'application.

EDIT: Si vous connaissez la mise en œuvre de LocationManager et LocationClient (les deux sont disponibles dans la documentation), vous pouvez créer votre propre LocationClient gestionnaire (avec des rappels et des trucs), qui va travailler sur LocationManager mais avec personnalisé tweakable propriétés.

3voto

everydayapps Points 89

J'ai travaillé sur un suivi de l'application et de mon expérience, c'est que LocationManager est mieux que LocationClient. LocationClient ne fournit aucun moyen pour spécifier que vous souhaitez l'emplacement des mises à jour de GPS seul. Tout cela permet de spécifier "haute précision". Cela fonctionne pour la plupart partie, mais chaque maintenant et puis, vous obtenez un emplacement de mise à jour qui est centaines de mètres de large, MAIS avec une précision de quelques mètres. Il n'y a aucun moyen de savoir que vous avez obtenu un inutilisables échantillon. Avec LocationManager si vous spécifiez GPS_PROVIDER vous pouvez être assuré que vous n'allez jamais à faire sauvagement inexacte des échantillons. Fonctionne bien pour nous.

2voto

Mathias Points 833

Venant de quelqu'un qui est passé sur les Google Play Services il y a un moment, je peux vous donner quelques expériences:

J'ai une application, d'environ 2,5 ans, qui utilise les services de localisation en profondeur. Dès le début, bien sûr, nous avons utilisé le LocationManager puisque c'est ce qui était disponible sur la plateforme Android.

Nous avons eu une très mauvaise expérience avec le service de Localisation sur Android par rapport à IOS. Il était bogué, peu fiable, et a donné de moins en moins de lieux précis que notre application IOS, plus qu'elle drainé plus de batterie. C'était une traînée.

À cet effet, lorsque Google a dévoilé la nouvelle API en juin de cette été, nous avons sauté sur elle. C'est bien mieux. Un couple de choses:

  1. Il est plus rapide et plus fiable.

  2. Il est moins buggé. Par exemple, dans l'ancienne API on peut parfois obtenir un "vieux" fixer avec un nouveau timestamp. Cela n'arrive jamais plus. Il n'y a plus, mais il serait encore plus long post.

  3. Il a certainement des drains de moins de batterie. Par exemple, quand vous avez eu une vue de la carte ouverte, le GPS a couru tout le temps, et l'icône GPS était visible. Ce n'est pas le cas avec la nouvelle. De ce fait les utilisateurs de se demander ce qui se passait. C'est ne pas comme un gros problème.

Donc, quand il s'agit de l'emplacement de sortie et de travail, tout est mieux. Mais il y a quelques inconvénients:

  1. Vous devez avoir Google Play Services est installé, sens il l'habitude de travailler sur des "non-google-approuvé" les modèles de téléphone, et, dans certains cas, vous aurez à indiquer aux utilisateurs qu'ils ont besoin de l'installer.

  2. L'API en elle-même est plus complexe de l'OMI, en partie à cause du point 1. En plus de la "régulière" rappels c'est à dire en attente pour l'emplacement des correctifs etc. Vous avez maintenant un processus qui prend part avant que vous pouvez commencer où vous devez vérifier que playservices est disponible, et "connecter" le locationclient. Ceci est un code supplémentaire et un peu plus complexe à saisir. Plus défectueux conditions à prendre en compte dans le code (si vous pouvez être gêné...)

  3. Google play services nécessite au moins 2,2 donc il ne fonctionnera pas pour les appareils plus anciens que cela. Nous avons eu à dire à certains clients qu'ils avaient pour mettre à niveau...

Espérons que cette aide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X