Быстрый вход с использованием SharedPreferences исключает отображение пользователя в базе данных Firebase

#android #firebase

#Android #firebase

Вопрос:

Итак, я работаю над приложением для Android, в котором пользователь должен войти в систему со своим именем пользователя и паролем, а затем Firebase покажет пользователям, которые находятся в Сети после того, как они вошли в систему. Чтобы избавить пользователя от необходимости постоянно входить в систему, я установил флажок запоминать меня, используя SharedPreferences. Это позволяет пользователям автоматически или быстро входить в систему после открытия приложения без повторного ввода имени пользователя и пароля, экономя их время и разочарования.

Автоматический вход с использованием флажка «Запомнить меня» с SharedPreferences работает нормально, но когда пользователь входит в систему без экрана входа, то есть когда запускается функция «Запомнить меня», данные не отправляются в Firebase, и пользователи не отображаются как доступные или онлайн, когда они фактически находятся в приложении.

Первым решением было бы реализовать метод, при котором, когда пользователь автоматически входит в систему (из-за запоминания меня), приложение связывается с Firebase и показывает, что пользователь подключен к Сети. Это более предпочтительно, поэтому, если кто-нибудь может, пожалуйста, помогите мне с этим.

Другой способ заключается в сохранении / отображении ранее введенных имени пользователя и пароля в соответствующих полях EditText, поэтому пользователю просто нужно нажать кнопку входа. Я полагаю, что при таком методе потребуется наименьшее количество кодирования по сравнению с первым решением. Как только пользователь войдет в систему с экрана входа, информация будет передана Firebase и покажет пользователя как доступного / онлайн.

Я много искал, как реализовать второе решение, то есть показать ранее введенные имя пользователя и пароль, но безуспешно. Поиск по ключевым словам «показать ранее введенный текст редактирования имени пользователя Android Studio», но не получил соответствующих результатов Google и Youtube.

Пожалуйста, помогите мне, ребята.

Комментарии:

1. Перейдите по этой ссылке — androidhive.info/2012/08 / …

Ответ №1:

Наконец …. получил решение, и я доволен автозаполнением или вторым решением. В полях EditText отображаются ранее введенные имя пользователя и пароль, поэтому пользователю просто нужно нажать login. Учетные данные сохраняются, только если установлен флажок запомнить меня.

Вот простой код, который вернул мне дыхание:

  sharedPreferences = getSharedPreferences(myPreference, Context.MODE_PRIVATE);
    if (sharedPreferences.contains(Username)) {
        DriverEmail.setText(sharedPreferences.getString(Username, ""));
    }
    if (sharedPreferences.contains(Password)) {
        DriverPassword.setText(sharedPreferences.getString(Password, ""));
    }