Java tutorial
import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import android.widget.Toast; import com.google.android.gms.auth.api.Auth; import com.google.android.gms.auth.api.signin.GoogleSignInAccount; import com.google.android.gms.auth.api.signin.GoogleSignInOptions; import com.google.android.gms.auth.api.signin.GoogleSignInResult; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.GoogleApiClient; public class MainActivity extends AppCompatActivity { private final int REQUEST_SIGN_IN = 1; GoogleApiClient mGoogleApiClient; GoogleApiClient.OnConnectionFailedListener mOnConnectionFailedListener = new GoogleApiClient.OnConnectionFailedListener() { @Override public void onConnectionFailed(ConnectionResult connectionResult) { Toast.makeText(MainActivity.this, "connectionResult=" + connectionResult.getErrorMessage(), Toast.LENGTH_SHORT).show(); } }; GoogleApiClient.ConnectionCallbacks mConnectionCallbacks = new GoogleApiClient.ConnectionCallbacks() { @Override public void onConnected(Bundle bundle) { Toast.makeText(MainActivity.this, "onConnected()", Toast.LENGTH_SHORT).show(); } @Override public void onConnectionSuspended(int i) { } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder( GoogleSignInOptions.DEFAULT_SIGN_IN).requestEmail().build(); mGoogleApiClient = new GoogleApiClient.Builder(this) .addOnConnectionFailedListener(mOnConnectionFailedListener) .addConnectionCallbacks(mConnectionCallbacks).addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions) .build(); findViewById(R.id.signInButton).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { signIn(); } }); } public void signIn() { Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); startActivityForResult(signInIntent, REQUEST_SIGN_IN); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_SIGN_IN) { GoogleSignInResult googleSignInResult = Auth.GoogleSignInApi.getSignInResultFromIntent(data); if (googleSignInResult.isSuccess()) { GoogleSignInAccount googleSignInAccount = googleSignInResult.getSignInAccount(); TextView textView = (TextView) findViewById(R.id.textView); textView.setText("Signed in: " + googleSignInAccount.getDisplayName()); findViewById(R.id.signInButton).setVisibility(View.GONE); } } } }