Я пытаюсь добавить логин 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 (...)"
Это потому, что у вас нет этого метода в вашем классе, вам нужно создать его в соответствии с вашими потребностями. В документации только упоминается, что вам нужно сделать некоторое обновление пользовательского интерфейса при запуске приложения.
Например - проверьте, вошел ли пользователь в систему или нет, и сделайте что-нибудь соответственно:
//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();
}
}
UpdaeUI()
предназначен только для обновления пользовательского интерфейса текущим состоянием аутентификации пользователя, например, если пользователь уже UpdaeUI()
в систему или нет, если пользователь уже вошел в систему, тогда он перенаправляет пользователя на экран активности панели мониторинга, в противном случае на экране входа в систему.
Когда я делал это, у меня был тот же вопрос, чтобы сделать это проще, я создал приложение только для аутентификации пользователя с использованием firebase. Вы можете увидеть мой код на GitHub, используя ссылку ниже. Я надеюсь, что это может помочь вам понять.
https://github.com/Vijay-Tahelramani/Android_Firebase_Authentication
Это позволит вам создать логин, зарегистрироваться, забыть и сменить пароль, функции автоматического выхода. это также позволяет вам отправлять имя пользователя и изображение профиля.