【问题标题】:Diffrence between FusedLocationProviderClient and FusedLocationProviderApiFusedLocationProviderClient 和 FusedLocationProvider Api 的区别
【发布时间】:2019-02-20 07:01:18
【问题描述】:

FusedLocationProviderClientFusedLocationProviderApi 的不同之处在于使用新的FusedLocationProviderClient 可以解决哪些问题,请说明两者在代码级别和内部工作方面的主要区别。

【问题讨论】:

    标签: android fusedlocationproviderapi google-location-services fusedlocationproviderclient


    【解决方案1】:

    随着 Google Play 服务 11.0.0 版本的发布,它引入了一种访问 LocationServices 的新方法。现在,一些手动管理的功能(例如连接到 Play 服务)不再需要。

    新的 LocationServices API 更加简单,并且会让您的代码更不容易出错。连接逻辑是自动处理的,你只需要附加一个完成监听器:

    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 API,可以更轻松地组合异步操作。
    3. 代码是独立的,可以很容易地移动到共享实用程序类或类似工具中。
    4. 您无需了解底层连接过程即可开始编码。

    更多详情可以阅读this blog.

    【讨论】:

      猜你喜欢
      • 2013-10-26
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 2011-05-20
      相关资源
      最近更新 更多