Я использую Google Sign-In в своем приложении, я реализовал его, следуя этому руководству:
https://developers.google.com/identity/sign-in/android/sign-in
У меня вопрос, как это лучше всего сделать, когда я использую Фрагмент для входа?
Как я это делаю:
MainActivity
- Конфигурирует вход в Google и объект GoogleSignInClient
- Проверяет существующего зарегистрированного пользователя
- Получил методы для
signIn
и signOut
. входящие звонки updateGUI
во фрагменте.
Fragment
- Имеет метод
updateGUI(account)
, который получает либо объект учетной записи, либо значение NULL от MainActivity
onCreateView
проверяет if(hasAccount)
, что является публичным булом в MainActivity
если есть аккаунт:
Intent intent = ((MainActivity) Objects.requireNonNull(getActivity())).mGoogleSignInClient.getSignedInClient();
getActivity().startActivityForResult(intent, ((MainActivity)getActivity()).RC_SIGN_IN);
в противном случае я просто не показываю "вошедший в систему" материал.
Является ли этот способ сделать это совершенно неправильно?
Поскольку все руководство основано на выполнении этого в одном упражнении, и я новичок в программировании на Android и JAVA, я не совсем понимаю, как это сделать.