无法解析方法 updateUI()

Gab*_*uia 1 java android firebase

我正在尝试按照 google 登录的官方文档将带有 firebase 的 google 登录添加到我的项目中。

https://developers.google.com/identity/sign-in/android/sign-in

我已经看到其他问题,但没有人可以解决我的问题。我不明白我是否必须创建自己的 updateUI() 方法或者我必须添加一些库,如果我必须编写它,我必须做什么。代码简短而简单

package com.database.gabriele.databasefb;


import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.google.android.gms.auth.api.signin.GoogleSignIn;
import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
import com.google.android.gms.auth.api.signin.GoogleSignInClient;
import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
import com.google.android.gms.common.SignInButton;
import com.google.firebase.auth.FirebaseAuth;


public class MainActivity extends AppCompatActivity {

    SignInButton button;
    FirebaseAuth mAuth;
    private final static int RC_SIGN_IN = 2;
    GoogleSignInClient mGoogleSignInClient;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestEmail()
                .build();

        mGoogleSignInClient = GoogleSignIn.getClient(this, gso);

        button = (SignInButton) findViewById(R.id.sign_in_button);
    }

    @Override
    protected void onStart()
    {
        super.onStart();
        GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(this);
        updateUI(account);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试运行代码时,它返回错误“无法解析方法 updateUI(...)”

Tam*_*bul 6

那是因为你的类中没有这个方法,需要根据自己的需要自行创建。文档只提到你需要在应用程序启动时做一些 UI 更新。

例如,检查用户是否已经登录并执行相应的操作:

//Change UI according to user data.
public void updateUI(FirebaseUser account){

    if(account != null){
        Toast.makeText(this,"U Signed In successfully",Toast.LENGTH_LONG).show();
        startActivity(new Intent(this,AnotherActivity.class));

    }else {
        Toast.makeText(this,"U Didnt signed in",Toast.LENGTH_LONG).show();
    }

}
Run Code Online (Sandbox Code Playgroud)