首页 文章

如何使用谷歌添加登录到一个简单的Android应用程序?

提问于
浏览
0

我正在尝试使用android studio实现一个简单的Android应用程序,用户可以使用谷歌登录 . 我按照https://developers.google.com/identity/sign-in/android/start-integrating的指南进行了操作,虽然我不确定我是否正确地获得了"Create an OAuth 2.0 client ID"的一部分 . 但是,我在我的应用程序中需要用户可以通过输入随机电子邮件和密码或真正的谷歌帐户登录 . 按照指南后,我继续这个https://developers.google.com/identity/sign-in/android/sign-in . 但是,在创建新的登录活动并添加部件之后

mGoogleApiClient = new GoogleApiClient.Builder(this)
        .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
        .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
        .build();

我有一个错误,说无法解析符号mGoogleApiClient,第二个在.enableAutoManage()中 . 我试图将mGoogleApiClient更改为GoogleApiClient mGoogleApiClient,但此问题仍然存在 . 我在做指南中提到的错误或者我应该做些什么吗?我还应该提到,当我将代码添加到空活动而不是预定义的loginActivity模板时,同样的问题也没有成功 .

更新:这是我的项目级build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
        classpath 'com.google.gms:google-services:1.5.0-beta2'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

我的app级build.gradle

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.karim.tvme"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.google.android.gms:play-services-auth:8.3.0'
    compile 'com.android.support:design:23.1.1'
    compile 'com.google.android.gms:play-services:8.3.0'
}

1 回答

  • 0

    我发现使用BNK的代码我必须实现 GoogleApiClient.OnConnectionFailedListener ,因此方法 public void onConnectionFailed(ConnectionResult connectionResult) 虽然在指南中没有提到 . 该指南也未提及我们必须声明属性 private GoogleApiClient mGoogleApiClient; . 希望这可以帮助 .

相关问题