Edited at

GoogleApiClient

More than 3 years have passed since last update.


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();