Intereting Posts
Можно ли передавать файлы через OBEX между неспаренными устройствами? Как программно закрыть программу Google Navigation? Ошибка проверки токена доступа: пользователь не имеет авторизованного приложения. Facebook SDK 4 Использование MultipartTypedOutput Push-уведомление для приложений Android Могу ли я использовать один и тот же идентификатор в разных форматах в Android? Отключение полноэкранного редактирования для ввода мягкой клавиатуры в альбомной ориентации? Как показать падение вниз, как facebook chat head в android EnterAlwaysCollapsed не возвращает панель инструментов при прокрутке вниз Последствия разрешения пакетов (всем разработчикам Android предлагается внести свой вклад) Проект сборки VLC для Android завершился неудачно на Ubuntu 12.04 Android один метод OnClick для нескольких кнопок? Настройка позиции просмотра в API-интерфейсе 7-го уровня Программно Как запретить «Громкую музыку может нанести вред вашему слуху …» предупреждение в Android Где найти информацию о команде оболочки «service call» для Android?

Как вы включаете имя пользователя при хранении электронной почты и пароля с помощью 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.

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