Intereting Posts
Утечка памяти AndroidTextText Приложение не обновляется для альфа-тестеров в google play Необходимо очистить весь проект Android в Eclipse каждый раз, когда редактируется XML-файл Как Android Market защищает мое приложение от распространения? Как автоматически импортировать необходимые классы в Android Studio с помощью ярлыка? Navigator.geolocation.getCurrentPosition всегда получает тайм-аут в Android до тех пор, пока GPS / Location не будет Установка разных индикаторов для разных групп в Android Воспроизвести список mp3-файлов с помощью MediaPlayer в Android Ошибка Gradle после добавления библиотеки дизайна поддержки android Сбой сборки Android Studio с «Задачей» не найден в корневом проекте «MyProject» ». Проверка версии Android Получите UDP в Android Marshmallow Андроид-клиент анализирует данные множественной формы для non ascii Разрешение отказа: открытие провайдера Настроить изображение, указанное из строки Html

Как вы включаете имя пользователя при хранении электронной почты и пароля с помощью Firebase (BaaS) в приложении для Android?

Метод createUser() Firebase принимает поле электронной почты и пароля, но что, если я хочу также разрешить пользователю пользовательское имя пользователя, подобное Snapchat, Instagram, StackOverflow и т. Д.? Есть ли способ изменить существующий метод, чтобы принять это поле, или мне нужно делать push и управлять этой информацией вручную, и если да, то как?

Это моя первая попытка сохранить желаемую информацию пользователя:

 Firebase ref = new Firebase(firebaseURL); ref.createUser(email, password, new Firebase.ValueResultHandler<Map<String, Object>>() { @Override public void onSuccess(Map<String, Object> result) { System.out.println("Successfully created user account with uid: " + result.get("uid")); //Sign user in Firebase ref = new Firebase(firebaseURL); ref.authWithPassword(email, password, new Firebase.AuthResultHandler() { @Override public void onAuthenticated(AuthData authData) { System.out.println("User ID: " + authData.getUid() + ", Provider: " + authData.getProvider()); //Save user info Firebase userRef = new Firebase(firebaseURL + "Users/"); User user = new User(username, authData.getUid()); userRef.setValue(user); 

Это хорошая практика? Я решил, что сохранение UID с именем пользователя может помочь мне в будущих изменениях обработки и т. Д. Кроме того, следует ли использовать метод updateChildren() или push() чтобы записи не перезаписывались, если это приложение для социальных сетей?

Это моя вторая попытка:

  @Override public void onAuthenticated(AuthData authData) { System.out.println("User ID: " + authData.getUid() + ", Provider: " + authData.getProvider()); //Save user info and username Firebase ref = new Firebase(firebaseURL); Map<String, String> map = new HashMap<String, String>(); map.put("email", email); map.put("username", username); map.put("provider", authData.getProvider()); ref.child("users").child(authData.getUid()).setValue(map); 

Показать форму с тремя полями:

  1. имя пользователя
  2. Адрес электронной почты
  3. пароль

Отправьте последние два createUser() Firebase. Затем в обратном вызове завершения для этого храните всю информацию в базе данных Firebase.

 var userName, emailAddress, password; // TODO: read these values from a form where the user entered them var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com"); ref.createUser({ email : emailAddress, password : password }, function(error, authData) { if (error) { console.log("Error creating user:", error); } else { // save the user's profile into the database so we can list users, // use them in Security and Firebase Rules, and show profiles ref.child("users").child(authData.uid).set({ provider: authData.provider, name: userName }); } }); 

См. Эту страницу о хранении пользовательских данных в документах Firebase для получения дополнительной информации.

Да, есть способ обновления информации о пользователе в Firebase. Все, что вам нужно – прочитать эту статью в документах Firebase и реализовать метод, описанный здесь. Обновить информацию о пользователе

Используя этот метод, вы можете обновить свойство diplayName объекта FirabaseUser. Просто установите имя пользователя для свойства displayName и зафиксируйте свои изменения.

Я надеюсь, что это поможет вам.

Вот один из способов хранения зарегистрированных данных в базе данных,

 Map<String, String> parameters = new HashMap<>(); FirebaseDatabase mFirebaseInstance; parameters.put(Constant.TAG_USER, strUsrS.trim()); parameters.put(Constant.TAG_EMAIL, strEmailS.trim()); parameters.put(Constant.TAG_PASS, strPassS.trim()); //use this if needed(pushId) String pushId = mFirebaseInstance.getReference(YOUR TABLE NAME).getRef().push().getKey(); parameters.put(Constant.TAG_KEY, pushId.trim()); mFirebaseInstance.getReference(YOUR TABLE NAME).getRef().child(strUsrS.trim()).setValue(parameters); 

Попробуйте эту реализацию и выполните … Thankyou

Надеюсь, что вам известно о том, как изменить (создать) таблицу с обязательными полями в firebase.

Связанный вопрос и обсуждение с решениями