GoogleApiClient とは
Googleが提供しているサービスに対して、接続するためのクライアント
接続例としては、Wearable, Location, Drive, Recognizationなど
生成されたインスタンスをそれぞれのAPIクラスに渡す。
例)
LocationServices.FusedLocationApi.requestLocationUpdates(mLocationClient, mLocationRequest, this);
build.gradle で dependencies を追加する
depandencies {
compile 'com.google.android.gms:play-services:6.1.+'
}
GoogleApiClient のインスタンス生成方法
インスタンスの生成は下記の通り
new GoogleApiClient.Builder(Context)
.addApi(API)
.addConnectionCallbacks(ConnectionCallbacks)
.addOnConnectioNFailedListener(OnConnectionFailedListener)
.build();
GoogleApiClient の接続
mGoogleApiClient.connect();
注意点
事前に下記のコードで false であることを確認すること
mGoogleApiClient.isConencted()
GoogleApiClient の結果受け取り
実装するインターフェースは下記の2種類
・GoogleApiClient.ConnectionCallbacks
・GoogleApiClient.OnConnectionFailedListener
@Override
public void onConnected(Bundle bundle) {
// GoogleApiClient の接続に成功した場合に呼ばれる
}
@Override
public void onConnectionSuspended(int i) {
// GoogleApiClient の接続が中断された場合に呼ばれる
// i は GoogleApiClient.ConnectionCallbacks.CAUSE_NETWORK_LOST
// GoogleApiClient.ConnectionCallbacks.CAUSE_SERVICE_DISCONNECTED
}
@Override
public void onConnectionFailed(ConnectionResult result) {
// GoogleApiClient の接続に失敗した場合に呼ばれる
// result.getErrorCode() でエラー詳細が取得可能
}
GoogleApiClient の切断
mGoogleApiClient.disconnect();