使用单例模式保存FusedLocationProviderClient实例
在一个Android应用程序中,FusedLocationProviderClient扮演着获取位置更新的关键角色。如果多个Activity需要访问FusedLocationProviderClient,则需要快速轻松地共享FusedLocationProviderClient的实例。为此,可以使用单例模式来保存FusedLocationProviderClient实例。
以下是一个示例,演示了如何使用单例模式来全局共享FusedLocationProviderClient实例。
public class LocationSingleton {
private static LocationSingleton instance = null;
private static FusedLocationProviderClient mFusedLocationClient = null;
public static synchronized LocationSingleton getInstance(Context context) {
if (instance == null) {
instance = new LocationSingleton();
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(context.getApplicationContext());
}
return instance;
}
public FusedLocationProviderClient getFusedLocationProviderClient() {
return mFusedLocationClient;
}
}
使用上面代码示例中的LocationSingleton类,可以从任何Activity中访问FusedLocationProviderClient实例,如下所示:
FusedLocationProviderClient mFusedLocationClient = LocationSingleton.getInstance(this).getFusedLocationProviderClient();