我一直在看和玩FusedLocationProviderApi
. 该类包含以下两种方法:
PendingResult<Status> requestLocationUpdates(GoogleApiClient client, LocationRequest request, LocationCallback callback, Looper looper)
PendingResult<Status> requestLocationUpdates(GoogleApiClient client, LocationRequest request, LocationListener listener, Looper looper)
它们具有非常相似的签名和描述,唯一的区别是一个用途LocationCallback
和另一个用途LocationListener
。
抽象类LocationCallback
定义了两个方法:
void onLocationAvailability(LocationAvailability locationAvailability)
void onLocationResult(LocationResult result)
并且接口LocationListener
只定义了一种方法
abstract void onLocationChanged(Location location)
忽略中的附加方法LocationCallback
,这两者有什么区别?是否存在一些概念差异或特殊用例使一个比另一个更可取?复制功能的基本原理是什么?