首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FusedLocationProviderClient与FusedLocationProviderApi的区别

FusedLocationProviderClient与FusedLocationProviderApi的区别
EN

Stack Overflow用户
提问于 2019-02-20 07:01:18
回答 1查看 799关注 0票数 1

FusedLocationProviderClientFusedLocationProviderApi有什么不同,使用新的FusedLocationProviderClient解决什么问题,请在代码级别和两者的内部工作上说明主要区别。

EN

回答 1

Stack Overflow用户

发布于 2019-02-20 07:48:16

随着Google服务的11.0.0发布,引入了一种访问LocationServices的新方法。现在,一些手动管理的函数(如连接到Play Services )是不需要的。

新的LocationServices API要简单得多,可以减少代码出错的可能性。连接逻辑是自动处理的,您只需要附加一个完成监听器:

代码语言:javascript
复制
FusedLocationProviderClient client =
            LocationServices.getFusedLocationProviderClient(this);

client.requestLocationUpdates(LocationRequest.create(), pendingIntent)
    .addOnCompleteListener(new OnCompleteListener() {
       @Override
       public void onComplete(@NonNull Task task) {
          Log.d("MainActivity", "Result: " + task.getResult());
       }
});

新API通过以下几种方式立即改进了代码:

  1. API调用自动等待服务连接的建立,这消除了在发出请求之前等待onConnected的需要。
  2. 它使用了Task,这样可以更容易地组合异步操作。
  3. 代码是独立的,可以很容易地移动到共享的实用程序类或类似的类中。
  4. 您不需要理解底层连接过程就可以开始编码。

有关更多细节,您可以阅读这个博客。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54780591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档