1. ホーム
  2. java

[解決済み] updateUI() メソッドを解決できない

2022-03-13 18:47:35

質問

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

コードを実行しようとすると、エラー "メソッド updateUI(...)" を解決できませんが返されます。

どうすればいいですか?

それは、あなたのクラスにこのメソッドがないため、必要に応じて作成する必要があります。ドキュメントには、アプリケーションの起動時にUIを更新する必要があるとしか書かれていません。

例えば ユーザーが既にログインしているかどうかを確認し、それに応じて何かをする。

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

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

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

}