Вопросы с тегами [firebase-realtime-database]

1

голосов
2

ответ
43

Просмотры

Firebase orderByKey().startAt() not working as expected. What's wrong?

Я пытаюсь получить firebase данных из узла, который UID должен начинаться с переданной строкой. Я попробовал код, но я всегда получаю одни и те же данные. Данные базы данных выглядит следующим образом: И я использую следующий код: Var реф = firebase.database () ссылка ( «Restaurantes / история»);. ref.orderByKey (). startAt (userUID) .once ( "child_added", функция (снимок) {snapshot.forEach (ребенок => {если (child.key == "Заказы") {console.log (child.val ( )); _.each (child.val (), (значение, ключ) => {arrtmp.push (значение)})}}) Если пользователь "FKQLlqa" я должен получить данные истории, показанные на картинке Если. пользователь Я есть «а» Я не должен получить какие-либо данные. Но я всегда получаю данные, как показан на рисунке. Должен ли я использовать другой способ запросов? Или я должен использовать ключевое поле внутри заказов и платежей данных? С уважением!
Gaston Levy Mayo
-2

голосов
2

ответ
31

Просмотры

Making a cloud http function that runs indefinitely

Ответил в комментариях Криса G: Используйте setInterval вместо этого, и удалить время цикла; этот код будет вызывать clearData в быстрой последовательности, бесконечно. (И cronjob, безусловно, предпочтительнее этой установки, кстати) мне нужно сделать функцию HTTP, который вызывает только один раз (при запуске), и после этого проходит через каждые 5 минут, чтобы проверить данные и, если эти данные 2 часа назад мы очищаем его , Несколько вещей, прежде чем я покажу код: Мы знаем Google планировщиком, но предпочитают не использовать его. Мы знаем, что мы можем использовать хроны-задание, чтобы позвонить в нашем HTML, когда нам нужно, но это будет означать другую службу, и моя цель состоит в том, что функция запуск себя без каких-либо услуг, как называть его. Код: константные функции = требуется ( 'firebase-функции'); Const администратора = требуется ( 'firebase-администратора'); admin.initializeApp (. functions.config () firebase); exports.methodCaller = функция. https.onRequest ((запрос, ответ) => {SetTimeout (() => {в то время (правда) {clearData (); console.log ( 'исполнение methodCaller')}}, 30000); // в настоящее время 30 секунд для тестирования цели, но будут 5 часов позже}); . Функция dataChecked () {admin.database () ссылка ( '/ журналы /') .once ( "значение") .then (снимок => {console.log (snapshot.val ()); // код, который проверяет данные }); } Это мой способ таймаута функции правильно. Я хочу, чтобы вручную стрелять каждые 5 минут, проверяя некоторые данные. Запрос HTTP хочет ответ, но если я положил его внутри в то время (правда) заявление он только регистрирует 2 раза. Является ли мой код правильно вообще? )}}, 30000); // в настоящее время 30 секунд для целей тестирования, но будет 5 часов позже}); . Функция dataChecked () {admin.database () ссылка ( '/ журналы /') .once ( "значение") .then (снимок => {console.log (snapshot.val ()); // код, который проверяет данные }); } Это мой способ таймаута функции правильно. Я хочу, чтобы вручную стрелять каждые 5 минут, проверяя некоторые данные. Запрос HTTP хочет ответ, но если я положил его внутри в то время (правда) заявление он только регистрирует 2 раза. Является ли мой код правильно вообще? )}}, 30000); // в настоящее время 30 секунд для целей тестирования, но будет 5 часов позже}); . Функция dataChecked () {admin.database () ссылка ( '/ журналы /') .once ( "значение") .then (снимок => {console.log (snapshot.val ()); // код, который проверяет данные }); } Это мой способ таймаута функции правильно. Я хочу, чтобы вручную стрелять каждые 5 минут, проверяя некоторые данные. Запрос HTTP хочет ответ, но если я положил его внутри в то время (правда) заявление он только регистрирует 2 раза. Является ли мой код правильно вообще? } Это мой способ таймаута функции правильно. Я хочу, чтобы вручную стрелять каждые 5 минут, проверяя некоторые данные. Запрос HTTP хочет ответ, но если я положил его внутри в то время (правда) заявление он только регистрирует 2 раза. Является ли мой код правильно вообще? } Это мой способ таймаута функции правильно. Я хочу, чтобы вручную стрелять каждые 5 минут, проверяя некоторые данные. Запрос HTTP хочет ответ, но если я положил его внутри в то время (правда) заявление он только регистрирует 2 раза. Является ли мой код правильно вообще?
Slavik Leskiv
1

голосов
1

ответ
68

Просмотры

Firebase Database - Share Data When UID Unknown?

В Firebase базы данных; Если user_a есть данные, которые они могут получить доступ и они хотят поделиться этими данными с Пользователем В., что является лучшей практикой и структура базы данных для безопасного обмена данных между этими конкретными пользователями? Важно: user_a не имеет никакой информации о счете, Пользователю B, например, жидкости. Подробный пример: 1) user_a имеет список клиентов. "пользователи": { "user_a": { "клиенты": [ "clientUid", "clientUid2"]}}, "клиенты": { "clientUid": { "Имя": "Джон", "LastName": «Doe "}, "clientUid2": { "FirstName": "Джо", "LastName": "Блогс"}} 2) Пользователь B подписывает. user_a теперь хочет обмениваться данными в клиентах Пользователя В. с Пользователем В. счетом, что подписался. Иные слова: user_a есть список клиентов, один из них создает учетную запись и нужно связать с информацией user_a уже введенной для них. Важным элементом здесь является то, что нет списка пользователей или счетов, что «запрос друга» может быть изготовлен из дополнительных данных. Я экспериментировал с созданием короткого уникального идентификатора пользователь может ввести, когда они подписывают, чтобы получить доступ к данным, но не уверен, если это хороший путь вперед и столкнулся с проблемами. Это отличается от вопросов, ранее спрашивавший совместно используемых данных ", как он сосредоточен на, как связь между двумя пользователями сделали? Не только до и после. один из них создает учетную запись и нужно связать с информацией user_a уже введенной для них. Важным элементом здесь является то, что нет списка пользователей или счетов, что «запрос друга» может быть изготовлен из дополнительных данных. Я экспериментировал с созданием короткого уникального идентификатора пользователь может ввести, когда они подписывают, чтобы получить доступ к данным, но не уверен, если это хороший путь вперед и столкнулся с проблемами. Это отличается от вопросов, ранее спрашивавший совместно используемых данных ", как он сосредоточен на, как связь между двумя пользователями сделали? Не только до и после. один из них создает учетную запись и нужно связать с информацией user_a уже введенной для них. Важным элементом здесь является то, что нет списка пользователей или счетов, что «запрос друга» может быть изготовлен из дополнительных данных. Я экспериментировал с созданием короткого уникального идентификатора пользователь может ввести, когда они подписывают, чтобы получить доступ к данным, но не уверен, если это хороший путь вперед и столкнулся с проблемами. Это отличается от вопросов, ранее спрашивавший совместно используемых данных ", как он сосредоточен на, как связь между двумя пользователями сделали? Не только до и после. Я экспериментировал с созданием короткого уникального идентификатора пользователь может ввести, когда они подписывают, чтобы получить доступ к данным, но не уверен, если это хороший путь вперед и столкнулся с проблемами. Это отличается от вопросов, ранее спрашивавший совместно используемых данных ", как он сосредоточен на, как связь между двумя пользователями сделали? Не только до и после. Я экспериментировал с созданием короткого уникального идентификатора пользователь может ввести, когда они подписывают, чтобы получить доступ к данным, но не уверен, если это хороший путь вперед и столкнулся с проблемами. Это отличается от вопросов, ранее спрашивавший совместно используемых данных ", как он сосредоточен на, как связь между двумя пользователями сделали? Не только до и после.
Josh Kahane
1

голосов
1

ответ
42

Просмотры

Insert instead of update in firebase

Я пытаюсь вставить новые значения в Firebase в реальном времени базы данных. Но каждый раз, когда я «зарегистрировать» новый пользователь, мои данные базы данных становится заменен новым. Я совершенно запутался, как я могу это сделать по-другому. Это мой код .. // Создание нового пользователя с txtfield электронной почты и пароль Auth.auth () CreateUser. (WithEmail: адрес электронной почты, пароль: пароль) {authResult, ошибка ошибки // Printing если если ошибка = ноль {! печать (ошибка в любом) возвращении} // Получение справочной базы данных позволяет иому = Database.database () ссылке () // значения для вставки в базу данных позволяют значение = [ «Имя пользователя»:. self.username, «Электронную почта»: самостоятельно. электронная почта, "Name1": self.name1, "Name2": self.name2, "name3": self.name3, "Name4": self.name4, "Name5": self.name5,
Putte
1

голосов
1

ответ
144

Просмотры

How can I switch firebase configuration using toggle in react native

I am using reactnative, redux and firebase. Now i want to config two diff firebase env one is development and other one is production. I implemented a toggle to switch the firebase diff account. i put firebase config file in ./App.js import React, { Component } from 'react'; import { Provider } from 'react-redux'; import firebase from 'firebase'; import store from './src/config/store'; import AppNavigation from './src/navigation'; class App extends Component { componentWillMount() { firebase.initializeApp({ apiKey: 'AIzaSyAandJABqieT3fXk2palvAgbYz5B8y9EsM', authDomain: 'practiciaappsubu.firebaseapp.com', databaseURL: 'https://practiciaappsubu.firebaseio.com', projectId: 'practiciaappsubu', storageBucket: 'practiciaappsubu.appspot.com', messagingSenderId: '753143230840' }); firebase.auth().onAuthStateChanged((user) => { if (user) { console.log('logged In'); } else { console.log('not looged in'); } }); } render() { return ( ); } } export default App; The toggle is there is Home component. So, after change the toggle from Home componet, how can i get the toggle status in ./App.js file? The Home.js (component) import React, { Component } from 'react'; import { Text, View, Image, ScrollView, Switch } from 'react-native'; import { connect } from 'react-redux'; import { NavigationActions } from 'react-navigation'; import { Button, Section } from './helpers'; import { userType } from '../config/MasterData'; import { firebaseEnvAction } from '../actions/HomeAction'; class Home extends Component { static navigationOptions = { title: '.: Practicia :.' }; onPressSignupAs(userInfo) { // Navigate to sign up page with the user information console.log(userInfo); } onPressLogin() { // Navigate to login page const navigateToLogin = NavigationActions.navigate({ routeName: 'login', params: {} }); this.props.navigation.dispatch(navigateToLogin); } firebaseEnv(val) { this.props.firebaseEnvAction(val); } render() { return ( Sign Up As... {userType.teacher.showText} {userType.parent.showText} {userType.student.showText} Already have an account? Login Firebase: this.firebaseEnv(val)} disabled={false} activeText={'Prod'} inActiveText={'Dev'} circleSize={30} barHeight={1} circleBorderWidth={3} backgroundActive={'green'} backgroundInactive={'gray'} circleActiveColor={'#30a566'} circleInActiveColor={'#000000'} /> ); } } const styles = { firebaseText: { fontSize: 20 }, contentContainer: { flex: 1 }, container: { backgroundColor: '#FFFFFF', borderRadius: 4, borderWidth: 0.5, borderColor: '#9DDAEE', flex: 1, padding: 10, justifyContent: 'center', }, userType: { fontSize: 23, fontWeight: 'bold', backgroundColor: '#3BAFDA', margin: 10, padding: 10, textAlign: 'center', color: '#fff', }, contentArea: { marginLeft: 40, marginRight: 40, marginBottom: 20, }, logoContainer: { justifyContent: 'center', alignItems: 'center', marginTop: 10, marginBottom: 40, }, logo: { width: 250, height: 75, }, signInAs: { fontSize: 20, textAlign: 'center', marginBottom: 10, }, LoginBox: { marginTop: 20, marginLeft: 40, marginRight: 40, }, LoginText: { fontSize: 15, textAlign: 'center', marginBottom: 10, }, buttonLogin: { backgroundColor: '#C4C4C4', }, buttonText: { color: '#000000', } }; const mapStateToProps = (state) => { return state; }; const mapDispatchToProps = { firebaseEnvAction }; export default connect(mapStateToProps, mapDispatchToProps)(Home);
Subrata Mallik
1

голосов
0

ответ
80

Просмотры

Swift - Загрузить / Получение изображений в / из Firebase

Я хочу, чтобы мои пользователи могли устанавливать свои фотографии профиля в моем приложении. Я держу ДАННЫЕ профиля, который содержит пользовательский профиль изображение в качестве табличной ячейки. Тем не менее, у меня были проблемы в моем коде. Это моя функция просмотра таблицы: FUNC Tableview (_ Tableview: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {если (indexPath.section == 0) {пусть profileInfoCell = tableView.dequeueReusableCell (withIdentifier: "MyProfileInfoCell"), как! MyProfileInfoCell profileInfoCell.profilePicture.tag = indexPath.row пусть пользователь = пользователи [indexPath.row] profileInfoCell.username.text = user.username profileInfoCell.userEmail.text = user.email profileInfoCell.userReputation.text = "имеет 2 ответил любит" / * пусть profilePictureStorageRef = Storage. хранения () ссылки () ребенок ( "profilePicture") ребенок ((Auth.auth () CurrentUser .uid).?!) profilePictureStorageRef.getData (MaxSize:... 1 * 1024 * 1024, завершение: {данные, ошибка если пусть ошибка = ошибка {} еще {пусть IMAGE = UIImage (данные: данные) profileInfoCell.profilePicture.image = изображение!}}) * / вернуться profileInfoCell} И это моя imagePickerController функция: FUNC imagePickerController (_ подборщика: UIImagePickerController, didFinishPickingMediaWithInfo информация: [String: Любой]) {пусть indexPath = NSIndexPath (строка: 0, раздел: 0) пусть клетка = tableView.cellForRow (по адресу: indexPath как indexPath), как! MyProfileInfoCell! если позволить изображение = Информация [UIImagePickerControllerOriginalImage], как? UIImage {? SelectedImage = изображения клеток .profilePicture.contentMode = .scaleAspectFit клеток .profilePicture.image = изображение?} / * Пусть profilePictureStorageRef = Storage.storage () ссылка (forURL:. «GS: //cs401-402.appspot.com ") .child (" profilePicture "). ребенок ((Auth.auth (). CurrentUser? .uid)!), если пусть profilePicture = self.selectedImage, пусть ImageData = UIImagePNGRepresentation ((клетку? .profilePicture.image!)!) {profilePictureStorageRef.putData (ImageData, метаданные: ноль, завершение: {(метаданные, ошибка) в случае ошибки = ноль {возвращение} пусть profilePictureUrl = метаданные .downloadURL () ?. absoluteString self.ref.child ( "пользователи")? .child ((Auth.auth (). CurrentUser .uid)) ребенок ( "profilePicture") SetValue (profilePictureUrl)})} * / self.dismiss (анимированный:!..! правда, завершение: ноль)} Моя программа обрабатывает настройки изображение профиля правильно. Однако, когда я пытаюсь работать с Firebase после выбора картины профиля, у меня возникли проблемы. Закомментированные линии в функции imagePickerController вызывает многократное создание моей ячейки таблицы представления с профилем информацией. Я был бы признателен, если кто-то может мне помочь. Благодарю. Закомментированные линии в функции imagePickerController вызывает многократное создание моей ячейки таблицы представления с профилем информацией. Я был бы признателен, если кто-то может мне помочь. Благодарю. Закомментированные линии в функции imagePickerController вызывает многократное создание моей ячейки таблицы представления с профилем информацией. Я был бы признателен, если кто-то может мне помочь. Благодарю.
atunaysaka
1

голосов
0

ответ
194

Просмотры

Как получить все дети из Firebase базы данных

Я пытаюсь узнать, как использовать Firebase путем создания простого приложения социальных медиа. https://i.stack.imgur.com/wfeyw.png (Вот как моя база данных выложены) я был в состоянии добавить данные в базу данных, но у меня возникают проблемы с пониманием, как извлекать данные. Я хочу, чтобы иметь возможность получить все сообщения от конкретного пользователя, а затем отобразить каждый из них в качестве элемента в списке. пусть сообщений = firebase.database () реф ( '') Сообщений ребенка (USERID)..; До сих пор те мой запрос и вот код, я использую для добавления сообщений в базу данных. Может кто-то и сказать мне, что это термин для Id, который генерируется для каждой должности? firebase.database () реф ( '/ сообщения') ребенок (идентификатор пользователя) .С.. ({Текст: пост, Score: 0});
KevinDunbar
1

голосов
0

ответ
101

Просмотры

Firebase Recyclerview indexed query is not working

Я пытаюсь получить наборы данных из моих последователей. Так что это моя структура последователей А это для темы, и я использую следующий код для recyclerview получить темы из тех пользователей .. firebaseOptions = новый FirebaseRecyclerOptions.Builder () .setIndexedQuery (FirebaseDatabase.getInstance (). GetReference (). ребенок ( "последователи"). ребенок ( "heymark"), FirebaseDatabase.getInstance (). getReference (). ребенок ( "темы"). ребенок ( "все"). getRef (), Topic.class) .build () ; FirebaseRecyclerAdapter adapter2 = новый FirebaseRecyclerAdapter (firebaseOptions) {@Override общественного ViewHolder onCreateViewHolder (ViewGroup родитель, внутр viewType) {Посмотреть вид = LayoutInflater.from (parent.getContext ()) .inflate (R.layout. topic_card, родитель, ложь); вернуть новый ViewHolder (вид); } @Override защищен недействительным onBindViewHolder (держатель ViewHolder, Int положение, тема модель) {holder.text.setText (model.getCaption ()); }}; adapter2.startListening (); topicFeed.setAdapter (adapter2); Но это не работает. Он показывает только два узла от темы. Но я хочу, чтобы получить доступ к этим темам не только имена. Так как я могу сделать это. Но это не работает. Он показывает только два узла от темы. Но я хочу, чтобы получить доступ к этим темам не только имена. Так как я могу сделать это. Но это не работает. Он показывает только два узла от темы. Но я хочу, чтобы получить доступ к этим темам не только имена. Так как я могу сделать это.
Kim
1

голосов
0

ответ
50

Просмотры

асинхронный ждут в Objective-C Firebase API

Как изменить следующие Obj-C Firebase API стандартный код: недействительным (^ блок) (FIRDataSnapshot *); Блок = ^ аннулируется (FIRDataSnapshot * снимок) {FIRDatabaseQuery * запрос; [ObserveSingleEventOfType запроса: FIRDataEventTypeValue withBlock: ^ (FIRDataSnapshot * _Nonnull снимок) {}]; }; FIRDatabaseQuery * запрос; [ObserveSingleEventOfType запроса: FIRDataEventTypeValue withBlock: блок]; и использовать лучший вариант похож на Обещай использовать в Firebase функций node.js: Const promise1 = query.once ( «значение»); Const promise2 = query.once ( 'значение'); ждут Promise.all ([promise1, promise2]); любой хороший способ сделать наблюдение синхронных вызовов (ожидание возврата) может позволить использовать родную NSOperation Очередь NSOperation * promise1; NSOperation * promise2; NSOperation * promise_all; [Promise2 addDependency: promise1]; [Promise_all addDependency: promise2]; NSOperationQueue * Q; [Q addOperation: promise_all];
1

голосов
1

ответ
305

Просмотры

angularfire2, push/update data to specific child/key only

У меня есть функция, чтобы передавать данные, и я еще два свойства, которые должны быть втягиванием / обновлено / сохраняются в том же клавишу. Есть percentMale и percentFemale. Мне нужно поставить представленный результат для этих двух свойств в одном ребенке / ключе. Скажем, ключ L2Jq0Tg4JOS66F786pT. мужчины: число = 0; женщины: число = 0; percentMale; percentFemale; insertdata (данные: App) {если (data.data1 == 'Мужской') {this.male ++; } Еще если (data.data1 == 'Женский') {this.female ++; } This.percentMale = this.male / (this.male + this.female) * 100; console.log ( 'percentMale', this.percentMale + '%'); this.percentFemale = this.female / (this.male + this.female) * 100; console.log ( 'percentFemale', this.percentFemale + '%'); this.dataList.push ({data1: data.data1, data2: data.data2, data3: data.data3, время: новая Дата () GetTime ()});. this.dataList.push ({percentMale: this.percentMale, percentFemale: this.percentFemale,}); // если ключ уже существует //this.dataList.update(data.$key, {// percentMale: this.percentMale, // percentFemale: this.percentFemale, //}); } Функция я сделал причины более percentMale и percentFemale хранятся отдельно и таблица показывает ненужные строки. может кто-нибудь помочь мне понять это, пожалуйста? пожалуйста, дайте мне знать, если требуется больше сниппеты. } Функция я сделал причины более percentMale и percentFemale хранятся отдельно и таблица показывает ненужные строки. может кто-нибудь помочь мне понять это, пожалуйста? пожалуйста, дайте мне знать, если требуется больше сниппеты. } Функция я сделал причины более percentMale и percentFemale хранятся отдельно и таблица показывает ненужные строки. может кто-нибудь помочь мне понять это, пожалуйста? пожалуйста, дайте мне знать, если требуется больше сниппеты.
Wira Xie
1

голосов
1

ответ
1.1k

Просмотры

Редактирование и удаление firebase

Имя: Телефон: Адрес A B C ИМЯ ТЕЛЕФОН АДРЕС ACTION вар = document.getElementById Список пользователей задается ( 'users_list'); вар databaseRef = firebase.database () ссылок ( 'пользователей /'). вар RowIndex = 1; databaseRef.once ( 'значение', функция (снимок) {snapshot.forEach (функция (childSnapshot) {вар childKey = childSnapshot.key; вар childData = childSnapshot.val (); кнопка переменная = document.createElement ( "кнопка"); вар button2 = document.createElement ( "кнопка"); button.innerHTML = "Редактировать"; button2. innerHTML = "Удалить"; переменная строка = usersList.insertRow (RowIndex); вар CellName = row.insertCell (0); вар CellPhone = row.insertCell (1); вар cellAddress = row.insertCell (2); вар cellButton = row.insertCell (3); cellName.appendChild (document.createTextNode (childData.name)); cellPhone.appendChild (document.createTextNode (childData.phone)); cellAddress.appendChild (document.createTextNode (childData.address)); cellButton.appendChild (кнопка); cellButton.appendChild (button2); button.onclick = удаление; button2.onclick = редактировать; RowIndex = RowIndex + 1; }); }); Функция удаления () {вар строка = document.getElementById ( "users_list"); firebase.database () ссылка () ребенок ( '/ пользователей /' + user_id) .remove ()..; предупреждение ( «Пользователь успешно удален!»); перезагрузить страницу(); } Функция редактирования {} Функция update_user () {вар данные = {идентификатор_пользователя: идентификатор_пользователя, имя_пользователя: имя_пользователя} вар обновляет = {}; Обновления [/ пользователи / '+ идентификатор_пользователь] = данные; firebase.database () ссылка () обновление (обновления)..; предупреждение ( «Пользователь успешно обновлен!»); перезагрузить страницу(); } Я создал базу данных с именем пользователя в firebase с именем хранилища данных, телефон и адрес. Я извлекаться данные из firebase в таблице, и создал новый столбец с кнопкой редактирования и кнопку удаления в таблице. То, что я должен добавить в функции удаления, которые позволяют удалить firebase данные в строке, когда кнопка удаления был щелчок, и при редактировании кнопки в строке была щелкните его извлечения firebase данных в строке в виде таблицы и нажмите кнопку Обновить, чтобы обновить данные в firebase. Аналогичный выход:
veen259
1

голосов
1

ответ
531

Просмотры

Copy one child's data into another with Firebase

У меня есть эта функция, где я могу проверить, есть ли ребенок ребенка, и если я не хочу, чтобы скопировать ребенок B в ребенке А. В настоящее время я пытаюсь получить снимок B и записать его на А. Не может получить его работу , Я новичок в Swift и Firebase и нашел подобные вопросы, но и на других языках, которые я не понимаю. Мой код: ref.child ( "Пользователи") ребенок ( "Друзья") ребенок (String (а)) наблюдать (.value, с:... {(Снимок), если (snapshot.exists ()) {если ( snapshot.hasChild (String (б))) {// выполнить операцию на узле A} еще {// Здесь я хочу, чтобы скопировать DefaultFriends-> х в Users-> Friends-> х // выполнить операцию на узле A} еще { // Здесь я хочу, чтобы скопировать все DefaultFriends в Users->
PRONKERIJ
1

голосов
1

ответ
575

Просмотры

Как перейти от CoreData к Firebase

Так в настоящее время, я делаю приложение, в котором она позволяет пользователю создавать расходы и хранить их. Каждый счет имеет такие свойства, как дата, название, количество, тип расходов, категория и т.д. В настоящее время я храню все эти на CoreData, который я нахожу легко и управляемый, но я действительно хочу, чтобы перейти к хранению базы данных таким образом, чтобы приложение не занимает все большее количество памяти в телефоне пользователя. У меня есть несколько вопросов, если кто-то может ответить на них. Может firebase базы данных будет использоваться для хранения характеристик объекта, как основные данные могут сортировать как JSON String? Может firebase сохранить что-то и получить его, если вы не подключены к интернету? Какое firebase хранения следует использовать. Когда я иду на их сайте, они имеют несколько баз данных, такие как RealTime, Cloud Storage и т.д. который один был бы лучшим выбором для того, что я пытаюсь сделать. Спасибо за помощь!
Arnav GUPTA
1

голосов
1

ответ
1k

Просмотры

Получение значения из Firebase базы данных объекта

Я просто пытаюсь получить значение имя пользователя из моей firebase базы данных и отобразить его в лог консоли заявление, но у меня возникают проблемы, делая это. Это то, что я до сих пор. Сейчас все это делает, становится объектом, а не фактическое значение ребенка. Как мне получить значение ребенка так, то он может быть отображен. getUsername.ts импорт {Компонент} от '@ угловая / сердцевина'; импорт {IonicPage, NavController, NavParams} от 'ионно-углового'; импорт {AngularFireAuth} от 'angularfire2 / AUTH'; импорт {AngularFireDatabase, FirebaseObjectObservable, FirebaseListObservable} от 'angularfire2 / баз данных'; @IonicPage () @Component ({селектор: 'страница-профиль-настройки', templateUrl: 'Профиль-setup.html'}) экспорт класс ProfileSetupPage {profileData: FirebaseObjectObservable конструктор (частный afAuth: AngularFireAuth, частный afDatabase: AngularFireDatabase) {showUsername ($ событие) {пусть данных = this.profileData = this.afDatabase.object ( `профиль /`) console.log (data.username); }}}
jrocc
1

голосов
0

ответ
139

Просмотры

FirebaseListAdapter не показывая результатов базы данных андроида

Я делаю приложение чата на Android, который использует Google firebase для хранения сообщений, которые пользователи пишут друг другу. Для того, чтобы отобразить эти сообщения пользователей, которые я прочитал их из базы данных и организующих их в пользовательском ListView с ListAdapter. Я использую com.firebaseui: firebase-Ui: 3.1.3. Проблема в том, что представление списка всегда пуст, FirebaseListAdapter не показывает результаты базы данных частных недействительные displayChatMessages () {запрос Запрос = FirebaseDatabase.getInstance () getReference ( ); FirebaseListOptions опции = новый FirebaseListOptions.Builder () .setQuery (запрос, ChatMessage.class) .setLayout (R.layout.community_message) .build (); адаптер = новый FirebaseListAdapter (опция) {@Override защищена недействительный populateView (View v, ChatMessage модель, INT положение) {TextView MessageText = (TextView) v.findViewById (R.id.message_text); TextView messageUser = (TextView) v.findViewById (R.id.message_user); TextView messageTime = (TextView) v.findViewById (R.id.message_time); messageText.setText (model.getMessageText ()); messageUser.setText (model.getMessageUser ()); messageTime.setText (DateFormat.format ( "дд-ММ-гггг (HH: мм: сс)", model.getMessageTime ())); }}; listOfMessages.setAdapter (адаптер); } ChatMessage общественного класса {частное Струнные MessageText; частная строка messageUser; частный длинный messageTime; общественного ChatMessage (String MessageText, String messageUser) {this.messageText = MessageText; this.messageUser = messageUser; // Инициализировать текущее время messageTime = новый Дата () GetTime (). } Общественного ChatMessage () {} Строка общественного getMessageText () {вернуться MessageText; } Общественного недействительными setMessageText (Строка MessageText) {this.messageText = MessageText; } Строка общественного getMessageUser () {вернуться messageUser; } Общественного недействительными setMessageUser (Строка messageUser) {this.messageUser = messageUser; } Общественности долго getMessageTime () {вернуться messageTime; } Общественного недействительными setMessageTime (длинный messageTime) {this.messageTime = messageTime; }} } Общественного недействительными setMessageText (Строка MessageText) {this.messageText = MessageText; } Строка общественного getMessageUser () {вернуться messageUser; } Общественного недействительными setMessageUser (Строка messageUser) {this.messageUser = messageUser; } Общественности долго getMessageTime () {вернуться messageTime; } Общественного недействительными setMessageTime (длинный messageTime) {this.messageTime = messageTime; }} } Общественного недействительными setMessageText (Строка MessageText) {this.messageText = MessageText; } Строка общественного getMessageUser () {вернуться messageUser; } Общественного недействительными setMessageUser (Строка messageUser) {this.messageUser = messageUser; } Общественности долго getMessageTime () {вернуться messageTime; } Общественного недействительными setMessageTime (длинный messageTime) {this.messageTime = messageTime; }}
Ahmed El-Kallaf
1

голосов
1

ответ
49

Просмотры

Querying firebase database to retrieve user name

I am working on firebase for the first time. I am confused in querying the database. I have two objects on the database, one is the Auth and second one is the Chats. In Auths I have number of UID(user id) nodes, each of these nodes have their respective username. What I am trying to do is, I want to query that Auth object and get all the usernames which is equal to the one I take from a user through input box. In my sql it will be simple as SELECT * FROM auth WHERE username = userInputValue. I need same query like this, Below is what I have done so far. var _firbaseDB = firebase.database(), _firebaseAuthRef = _firbaseDB.ref("Auth/"); $("body").on("submit",".search-from",function(e){ e.preventDefault(); var ev = e.target, _allUsers = $(ev).serializeArray() _user = _allUsers[0].value; _firebaseAuthRef.equalTo(_user).on("child_added",function(res){ console.log(res.val()); }) })
Shehny Khan
1

голосов
0

ответ
32

Просмотры

Функция обратного вызова и функции Promise не работает идеально - Javascript

Я запуская child_added событие, которое слушает, когда новый ребенок добавлен к узлу (родителя) .Inside его, это еще одно событие, значение. Для того, чтобы загрузить данные из firebase он принимает, миллисекунды, и в то время, следующая строка выполняется до того, как данные извлекаются. Я использовал обещание с потом () и даже пытался обратные вызовы, но оба не работали для меня. есть все, что считается неправильным с моим кодом. То, что я хочу, когда данные полностью загружены, то pupoluateUsers () функция должна быть вызвана. Другой мудрый ждать до него. Метод обещание, которое я попробовал метод обратного вызова Я попытался пример кода, я работаю с компанией:. $ ( «Тело») на ( «клик», «си-добавить», функция (е) {вар _CU = $ .cookie ( "_ куб"), _MT = $ (это) .parent (). атр ( "данные-ID"), _chattedWith = [], _child_key = []; _firebaseChatRef.child (_CU) .child (_MT) .set (истина) .then (функция () {}); _firebaseChatRef.child (_CU) .on ( "child_added", функция (RES) {_firebaseAuthRef.child (res.key) .on ( "значение", функция (г) {populateUsers ({имя:. r.val () п , ID: r.key});})}) функция populateUsers (chattedWith) {пусть Len = chattedWith.length, _el = document.getElementsByClassName ( "чат-IND-тело-обертку") [0]; _el.insertAdjacentHTML ( 'afterbegin', '' + '' + '' + '' + '' +» '+ ChattedWith.name +' '+' Привет, Я текст здесь! '+' 2ч назад '+'»+ '' + '' + '' + ''); }}); + '2ч назад '+'' + '' + '' + '' + ''); }}); + '2ч назад '+'' + '' + '' + '' + ''); }});
Shehny Khan
1

голосов
2

ответ
63

Просмотры

Как создать простую область в полимерном РОМ повторе

Я ищу для просто способ создания сферы внутри РОМ повторе. В приведенном ниже примере, у меня есть список UserIds (например: [12,34,45]). Я хочу Переберите каждый элемент и извлечения объекта пользователя из firebase-баз данных. Наконец, я хочу, чтобы напечатать имя пользователя. Моя проблема: внутри шаблона не создает рамки. Таким образом, {{пользователь}} объект всегда будет перезаписан и печатает все будет показывать то же имя пользователя. Текущее решение: Создать новый webcomponent (полимерный элемент), который принимает в качестве аргумента USERID. Элемент сам по себе будет использовать и выводит имя пользователя. Имя пользователя является [[user.name]]
Jürgen Brandstetter
1

голосов
1

ответ
74

Просмотры

Android Firebase ListView

Работа на Android проекта с использованием Firebase. Проект, чтобы позволить пользователям проверить и отобразить все журналы в виде таблицы. Я создал firebase базы данных следующим образом: Я не могу получить данные для отображения в виде таблицы? Я хотел бы показать следующие пункты за элемент списка: userCheckIn имя пользователя userLocation Мой код: частный ListView mListView; частный DatabaseReference mDatabse; частный ArrayList ArrayList = новый ArrayList (); частный адаптер ArrayAdapter; Строка даты; календарь календарь; SimpleDateFormat SimpleDateFormat; @Override защищены недействительный OnCreate (Пачка savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_account); mListView = (ListView) findViewById (R.id.database_list_view); календарь = Calendar.getInstance (); SimpleDateFormat = новый SimpleDateFormat ( "дд-ММ-YYYY HH: мм: сс"); Date = simpleDateFormat.format (calendar.getTime ()); FirebaseUser currentFirebaseUser = FirebaseAuth.getInstance () getCurrentUser (). .... .Child mDatabse = FirebaseDatabase.getInstance () getReference () ребенок ( "CheckInOut") ребенок (currentFirebaseUser.getUid ()) ребенок (Дата) ( "userCheckIn"); Адаптер = новый ArrayAdapter (это, android.R.layout.simple_list_item_1, ArrayList); mListView.setAdapter (адаптер); mDatabse.addChildEventListener (новый ChildEventListener () {@Override общественного недействительными onChildAdded (DataSnapshot dataSnapshot, String s) {String String = dataSnapshot.getValue (String.class); arrayList.add (строка); adapter.notifyDataSetChanged (); } @Override общественные недействительного onChildChanged (DataSnapshot dataSnapshot, String s) {} @Override общественного недействительный onChildRemoved (DataSnapshot dataSnapshot) {} @Override общественные недействительный onChildMoved (DataSnapshot dataSnapshot, String s) {} @Override общественные недействительный onCancelled (DatabaseError DatabaseError) { }}); } Я был бы признателен за любую возможную поддержку. Строка с) {} @Override общественного недействительными onCancelled (DatabaseError DatabaseError) {}}); } Я был бы признателен за любую возможную поддержку. Строка с) {} @Override общественного недействительными onCancelled (DatabaseError DatabaseError) {}}); } Я был бы признателен за любую возможную поддержку.
LionelF
1

голосов
1

ответ
410

Просмотры

Как назначить дату и время, используя TimePicker и DatePicker и хранить его в Firebase базе данных? [закрыто]

Вот моя проблема, я хочу, чтобы назначить определенное время и дату. Но моя проблема заключается в том, как я могу осуществить это в моей программе? Я следовал за этот пост: Метод к дате и времени хранения в Android с помощью Firebase? Но проблема кажется еще не решена. Вот моя программа, эта функция программы, когда вы занимаете определенный предмет, вы должны назначить какое время и дату вы хотите занять этот пункт. Он еще не полностью разработана, потому что время и дата присвоившей моя текущая проблема. общественный класс Борроу расширяет AppCompatActivity реализует DatePickerDialog.OnDateSetListener, TimePickerDialog.OnTimeSetListener {личное FirebaseAuth firebaseAuth; частный DatabaseReference databaseBorrow; частная кнопка btnBorrow, btnPick; частный TextView tv_result; частный ИНТ день, месяц, год, час, минута; частный ИНТ dayFinal, monthFinal, yearFinal, hourFinal, minuteFinal; @Override защищены недействительный OnCreate (Пачка savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_borrow); firebaseAuth = FirebaseAuth.getInstance (); если (firebaseAuth.getCurrentUser () == NULL) {конец (); startActivity (новый Intent (это, Login.class)); } Намерение Намерение = getIntent (); btnPick = (кнопка) findViewById (R.id.btnPick); tv_result = (TextView) findViewById (R.id.tvResult); Строка ID = intent.getStringExtra (SearchFragment.BOOK_ID); btnBorrow = (кнопка) findViewById (R.id.borrowBtn); databaseBorrow = FirebaseDatabase.getInstance () getReference ( "Занять") ребенок (идентификатор)..; btnPick.setOnClickListener (новый View.OnClickListener () {@Override общественного недействительный OnClick (View вид) {Календарь с = Calendar.getInstance (); год = c.get (Calendar.YEAR); месяц = ​​c.get (Calendar.MONTH); день = c.get (Calendar.DAY_OF_MONTH); DatePickerDialog datePickerDialog = новый DatePickerDialog (Borrow.this, Borrow.this, год, месяц, день); datePickerDialog.show (); }}); btnBorrow.setOnClickListener (новый View.OnClickListener () {@Override общественного недействительный OnClick (View вид) {Button ();}}); } Частная пустота Кнопка () {Строка Идентификаторы = databaseBorrow.push () GETKEY (). Строка ButtonText = btnBorrow.getText () ToString (). BorrowBook ​​заимствовать = новый BorrowBook ​​(идентификаторы, ButtonText); databaseBorrow.child (идентификаторы) .setValue (заема); Toast.makeText (это, "заимствование Успешно", Toast.LENGTH_SHORT) .show (); } @Override общественный недействительный onDateSet (DatePicker Datepicker, Int я, внутр i1, INT i2) {yearFinal = я; monthFinal = I1 + 1; dayFinal = i2; Календарь с = Calendar.getInstance (); час = c.get (Calendar.HOUR_OF_DAY); минута = c.get (Calendar.MINUTE); TimePickerDialog timePickerDialog = новый TimePickerDialog (Borrow.this, Borrow.this, час, минута, DateFormat.is24HourFormat (это)); timePickerDialog.show (); } @Override общественного недействительными onTimeSet (TimePicker timePicker, Int я, Int i1) {hourFinal = я; minuteFinal = i1; // эта часть кода просто тестирование, так что я могу видеть, что год и дату, когда я выбрал tv_result.setText ( «год:» + yearFinal + „\ п“ + «месяц:» + monthFinal + „\ п“ + «день: "+ dayFinal + "\ п" +"
Sachihiro
1

голосов
1

ответ
155

Просмотры

Vuefire динамический путь

Как установить путь для vuefire, как показано ниже экспорта по умолчанию {firebase: {ClassList: db.ref ( «глава / 1»), // здесь 1 должны быть взяты из данных // как этот db.ref ( «глава /» + this.chapterid)}, данные: {chapterid: ''}, устанавливается: {// getchapterid здесь this.chapterid = getChapterId ()}} это не работает, возвращает ошибку неопределенную chapterid, есть в любом случае сделать это?
rashidnk
1

голосов
0

ответ
859

Просмотры

getGoogleApiForMethod () возвращается Gms продолжает показывать

Я попытался найти ответ довольно долго и не могу найти решение этой проблемы. Я выпустил мое приложение не так давно в магазине Play, проверки подлинности для firebase и в режиме реального времени базы данных работает нормально в версии. Тем не менее, я хотел бы изменить некоторые из кода и обновлять его в игровом магазине Google. Таким образом, я изменил код в моем Android Studio и проверка подлинности не работает больше. Эта ошибка продолжает появляться. 01-29 23: 58: 28,578 22699-22725 / com.name.package Вт / BiChannelGoogleApi: [FirebaseAuth:] getGoogleApiForMethod () возвращается GMS 01-29 23: 58: 29,745 22699-22725 / com.name.package Вт / BiChannelGoogleApi : [FirebaseAuth:] getGoogleApiForMethod () возвращал GMS вот мой Gradle buildTypes файла {выпуск {отладочного ложного minifyEnabled ложного proguardFiles getDefaultProguardFile (» поддержка: cardview-v7: 27.0.2' реализация 'com.android.support:recyclerview-v7:27.0.2' реализация 'com.github.bumptech.glide: глиссады: 4.4.0 com.github.bumptech' annotationProcessor». скользят: компилятор: 4.4.0' реализация 'com.squareup.retrofit2: модифицированная: 2.3.0' реализация 'com.squareup.retrofit2: конвертер-gson: 2.3.0' реализации 'com.thefinestartist: finestwebview: 1.2.7' реализации «com.github.chrisbanes: PhotoView: 2.0.0» реализация «de.hdodenhof: circleimageview: 2.2.0» 'testImplementation JUnit: JUnit: 4,12} Я попробовал все соответствующие темы StackOverflow, но ни одно из решений не работал мне. Я проверил все сертификаты SHA. Все они хорошо без каких-либо проблем на всех. Может кто-то помочь мне решить эту проблему? Я могу'
applejuice
1

голосов
1

ответ
689

Просмотры

How to set this.props.key into the Firebase database reference in react native

I have retrieved the values from the other component and displayed in the TextInput for users to edit the values which are the (itemTitle: this.props.title, itemIng: this.props.ing, itemSteps: this.props.steps) and now I'm trying to update the values back to firebase after user pressed the button in modal. But I'm having a problem to get the firebase database reference, I'm able get the {this.props._key} from another component but when I write as a .child(itemKey) it's not working and shows "Can't find variable: itemKey" Does anyone has the similar problem? import React, { Component } from 'react'; import { Platform, StyleSheet, Text, View, ScrollView, Button, TouchableHighlight, Modal, TextInput, ImageBackground } from 'react-native'; import {Actions}from 'react-native-router-flux'; import firebase from './firebase'; const remote = 'http://l.rgbimg.com/cache1oCOq1/users/b/ba/ba1969/600/mxc1dae.jpg'; export default class RecipeDetails extends React.Component{ constructor(props){ super(props); this.state={ modalVisible: false, itemTitle: this.props.title, itemIng: this.props.ing, itemSteps: this.props.steps, itemKey: this.props._key.toString(), }; this.vegeRef = this.getRef().child('Vegetarian').child(itemKey); this.fastRef = this.getRef().child('Fast Food'); this.hpRef = this.getRef().child('Healthy'); } setModalVisible(visible){ this.setState({modalVisible:visible}); } getRef(){ return firebase.database().ref(); } updateItem(){ this.setModalVisible(true); } render(){ return( {}} > Edit the details and Update. this.setState({ itemTitle })} /> this.setState({itemIng})} /> this.setState({itemSteps})} /> { this.vegeRef.update({title:this.state.itemTitle, ing:this.state.itemIng, steps:this.state.itemSteps}); this.setModalVisible(!this.state.modalVisible) }} title="Save Recipe" > this.setModalVisible(!this.state.modalVisible)} title="Cancel" > Ingredients {this.props.ing} {this.props._key} Steps {this.props.steps} Update Recipe ); } } This is the Firebase JSON format "Vegetarian" : { "-L3RaWBQchF5rKmVtpNk" : { "ing" : "Aasaaaa", "steps" : "Aa", "title" : "Eeww" }, "-L3WdmePSwkWNN4xB51M" : { "ing" : "This is good", "steps" : "Nice", "title" : "Salad" },
steven
1

голосов
0

ответ
101

Просмотры

Alternative to Firebase for Huge Data sets

Наше приложение нашло большой успех в последнее время. Часть приложения состоит из огромного списка продуктов. Продукты, которые мы храним в реальном времени базы данных Firebase в. Однако наши данные, установленные для списка мы заселить в настоящее время превысило 5000 + объекты. Что, конечно, поставил большую нагрузку на нашу базу данных в реальном времени, в результате чего наше время загрузки этих продуктов нажать 1 минуту + на начальной нагрузки и 18 секунд + после кэширования, используя постоянный кэш данных Firebase в. Я читал другие вопросы, связанные с огромными наборами данных и использованием Firebase и короткий ответ «не делай этого». Однако то, что не был адресован, и «рассол» мы в то, что «может» делать? Есть ли где-нибудь еще, где мы можем разместить наши данные, которые запрашивают наши данные экспоненциально быстрее? Из-за нашего потребительной случае, нумерация страниц не вариант. JSON около 12Мб. Любые советы или «Мы столкнулись с той же блокпосту, и это то, что мы сделали» было бы весьма признателен! Спасибо! Как запросить данные: [_reference observeSingleEventOfType: FIRDataEventTypeValue withBlock: ^ (FIRDataSnapshot * снимок) {self.dataArray = [NSMutableArray массив]; self.postCountNew = 0; для (снимок в snapshot.children) {[_dataArray AddObject: snapshot.value]; INT TimeInterval = [Теперь timeIntervalSinceDate: [_ dateFormatter dateFromString: snapshot.value [@ "Дата"]]]; если (TimeInterval <86400 && TimeInterval> = 0 && TimeInterval! = 0) {_postCountNew ++; }} [Self.tableView reloadData]; completionBlock (ДА); }]; Как запросить данные: [_reference observeSingleEventOfType: FIRDataEventTypeValue withBlock: ^ (FIRDataSnapshot * снимок) {self.dataArray = [NSMutableArray массив]; self.postCountNew = 0; для (снимок в snapshot.children) {[_dataArray AddObject: snapshot.value]; INT TimeInterval = [Теперь timeIntervalSinceDate: [_ dateFormatter dateFromString: snapshot.value [@ "Дата"]]]; если (TimeInterval <86400 && TimeInterval> = 0 && TimeInterval! = 0) {_postCountNew ++; }} [Self.tableView reloadData]; completionBlock (ДА); }]; Как запросить данные: [_reference observeSingleEventOfType: FIRDataEventTypeValue withBlock: ^ (FIRDataSnapshot * снимок) {self.dataArray = [NSMutableArray массив]; self.postCountNew = 0; для (снимок в snapshot.children) {[_dataArray AddObject: snapshot.value]; INT TimeInterval = [Теперь timeIntervalSinceDate: [_ dateFormatter dateFromString: snapshot.value [@ "Дата"]]]; если (TimeInterval <86400 && TimeInterval> = 0 && TimeInterval! = 0) {_postCountNew ++; }} [Self.tableView reloadData]; completionBlock (ДА); }]; дети) {[_dataArray AddObject: snapshot.value]; INT TimeInterval = [Теперь timeIntervalSinceDate: [_ dateFormatter dateFromString: snapshot.value [@ "Дата"]]]; если (TimeInterval <86400 && TimeInterval> = 0 && TimeInterval! = 0) {_postCountNew ++; }} [Self.tableView reloadData]; completionBlock (ДА); }]; дети) {[_dataArray AddObject: snapshot.value]; INT TimeInterval = [Теперь timeIntervalSinceDate: [_ dateFormatter dateFromString: snapshot.value [@ "Дата"]]]; если (TimeInterval <86400 && TimeInterval> = 0 && TimeInterval! = 0) {_postCountNew ++; }} [Self.tableView reloadData]; completionBlock (ДА); }];
Joshua Hart
0

голосов
2

ответ
2.3k

Просмотры

Как сохранить пользователи счет в firebase и получить его в режиме реального времени в Android студии

Я создаю приложение, в котором указывает увеличение на кнопку мыши, и эти пункты должны быть сохранены в firebase. Мне удалось сохранить эти данные в firebase. Но когда я уничтожить мое приложение и открыть его снова значение точки показывает то же, но после того, как кнопка, нажав. Он снова начинается с 0. Например: каждый раз, когда на кнопку мыши в точках увеличивается значение 10 баллов. Теперь, когда я полностью уничтожить приложение и открыть его снова, значение точки показывает то же самое, но при нажатии кнопки щелкнула снова начинается с начального состояния. Вот мой код INT сумма = 0; @Override защищены недействительный OnCreate (Пачка savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main2); button_claim.setOnClickListener (новый View.OnClickListener () {@Override общественная недействительный OnClick (Просмотр v) {сумма = сумма + 100; textView_points.setText (String.valueOf (сумма)); databaseReference.setValue (. textView_points.getText () ToString ()); }}); } @Override защищен OnStart пустот () {super.onStart (); если (mAuth.getCurrentUser () == NULL) {конец (); Намерение главного = новое Намерение (это, MainActivity.class); main.setFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity (основной); } DatabaseReference.addValueEventListener (новый ValueEventListener () {@Override общественного недействительными OnDataChange (DataSnapshot dataSnapshot) {textView_points.setText (dataSnapshot.getValue (String.class));. DatabaseReference.setValue (textView_points.getText () ToString ());} @Override общественного недействительными onCancelled (DatabaseError DatabaseError) {Toast. makeText (Main2Activity.this, "ошибка", Toast.LENGTH_LONG) .show (); }}); } Перед удалением приложения увидеть изображение, пожалуйста, точки увеличивается на кнопку мыши перед разрушением приложения и загрузки в базу данных см пожалуйста изображение 1 Открылся приложение снова (после закрытия) она показывает ту же обновленную точку см изображение 2 Теперь, когда я нажимаю претензии он возвращается назад к 100 см 3 номер изображения, пожалуйста, помогите мне по этой проблеме, и я новичок Спасибо
Hash
1

голосов
0

ответ
266

Просмотры

Реализация OnDisconnect на pyrebase

Это второй этап вопрос о проблеме. Я спросил здесь изначально, я раздвоенный pyrebase реализовать функцию OnDisconnect, вы можете сказать мне, как я могу реализовать, что на этом модуле? Я знаю, это должно быть очень легко изменить на этом файле, но я stucked сог Я новичок в Python. Нужен ли новый метод для класса базы данных? или нужен новый класс? Запросы на импорт из запросов импортировать сессию requests.exceptions импортировать HTTPError попробовать: от urllib.parse импорта UrlEncode, цитаты, за исключением: от URLLIB импорта UrlEncode, цитата импорта JSON импорта математики из случайного импорта единого времени импорта из коллекций импорта OrderedDict из sseclient импорта SSEClient импорта резьбы импорт разъем от oauth2client.service_account импорта ServiceAccountCredentials из gcloud хранения импорта из requests.packages.urllib3.contrib. id_token "], "refreshToken": request_object_json [" refresh_token "]} возвращение пользователя Защиту get_account_info (самостоятельная, id_token): request_ref =" https://www.googleapis.com/identitytoolkit/v3/relyingparty/getAccountInfo?key={0 } "формат (self.api_key) заголовки = {. "Content-Type":" приложения / JSON; кодировка = UTF-8 "} данных = json.dumps ({" idToken ": id_token}) request_object = requests.post (request_ref, заголовки = заголовки, данные = данные) raise_detailed_error (request_object) возвращение request_object.json () Защита send_email_verification ( Я, id_token): request_ref = "https://www.googleapis.com/identitytoolkit/v3/relyingparty/getOobConfirmationCode?key={0}".format(self.api_key) заголовки = {" Content-Type ":" приложения / JSON; кодировка = UTF-8 "} данных = json.dumps ({" RequestType ": "VERIFY_EMAIL", "idToken": id_token}) request_object = requests.post (request_ref, заголовки = заголовки, данные = данные) raise_detailed_error (request_object) возвращение request_object.json () Защита send_password_reset_email (я, электронная почта): request_ref = «https://www.googleapis.com/identitytoolkit/v3/relyingparty/getOobConfirmationCode?key={0}".format(self.api_key) заголовки = { "Content-Type": «приложения / JSON; кодировка = UTF-8 "} данных = json.dumps ({" RequestType ": "PASSWORD_RESET", "электронная почта": адрес электронной почты}) request_object = requests.post (request_ref, заголовки = заголовки, Путь = self.path self.path = нет, если path.startswith ( '/'): путь = путь [1:] если маркер: возвращение "? {0} / о / {1} = альт и медиа-маркер = {2}" .format (self.storage_bucket, цитирую (путь, сейф = ''), маркер) возвращает "{0} / о / {1}? альт = медиа" .format (self.storage_bucket, цитата (путь, сейф = '' )) Защита list_files (Я): возвращение self.bucket.list_blobs () Защита raise_detailed_error (request_object): попробуйте: request_object.raise_for_status () за исключение того, HTTPError как е: # поднять подробное сообщение об ошибке # TODO: Проверьте, если мы получаем { «ошибку " : "Доступ запрещен." } И обрабатывать автоматически поднимать HTTPError (е, request_object.text) Защита convert_to_pyre (пункты): pyre_list = [] для пункта в деталях: pyre_list.
beratuslu
1

голосов
1

ответ
254

Просмотры

Firebase onWrite other instance event.params is undefined

Auth: {имя пользователя: elasticSearchConfig.username, пароль: elasticSearchConfig.password}, ​​тело: _.pick (user_data, elasticSearchFields), JSON: истинный}; возвращать запрос (elasticSearchRequest) .then (ответ => {console.log ( 'Elasticsearch ответа', ответ);})}); Когда я использую functions.database.ref, он может получить event.params.user_id и он может обновить elasticsearch завершена. Но использовать functions.database.instance ( 'ams4-контракт') event.params.user_id не определен! Этот журнал идентификатор 36608977830579 журнала для журнала functions.database.ref идентификатор 36604231411908 для functions.database.instance ( «ams4-контракт») Спасибо. выбрать (user_data, elasticSearchFields), JSON: истинно}; возвращать запрос (elasticSearchRequest) .then (ответ => {console.log ( 'Elasticsearch ответа', ответ);})}); Когда я использую functions.database.ref, он может получить event.params.user_id и он может обновить elasticsearch завершена. Но использовать functions.database.instance ( 'ams4-контракт') event.params.user_id не определен! Этот журнал идентификатор 36608977830579 журнала для журнала functions.database.ref идентификатор 36604231411908 для functions.database.instance ( «ams4-контракт») Спасибо. выбрать (user_data, elasticSearchFields), JSON: истинно}; возвращать запрос (elasticSearchRequest) .then (ответ => {console.log ( 'Elasticsearch ответа', ответ);})}); Когда я использую functions.database.ref, он может получить event.params.user_id и он может обновить elasticsearch завершена. Но использовать functions.database.instance ( 'ams4-контракт') event.params.user_id не определен! Этот журнал идентификатор 36608977830579 журнала для журнала functions.database.ref идентификатор 36604231411908 для functions.database.instance ( «ams4-контракт») Спасибо. user_id и он может обновить elasticsearch завершена. Но использовать functions.database.instance ( 'ams4-контракт') event.params.user_id не определен! Этот журнал идентификатор 36608977830579 журнала для журнала functions.database.ref идентификатор 36604231411908 для functions.database.instance ( «ams4-контракт») Спасибо. user_id и он может обновить elasticsearch завершена. Но использовать functions.database.instance ( 'ams4-контракт') event.params.user_id не определен! Этот журнал идентификатор 36608977830579 журнала для журнала functions.database.ref идентификатор 36604231411908 для functions.database.instance ( «ams4-контракт») Спасибо.
Sarawut Fukana
1

голосов
1

ответ
138

Просмотры

Создание человеко-читаемый URL-адреса с React маршрутизатора Параметры и Firebase RTD

В основном я пытаюсь выяснить, наилучший способ структурировать мои URL-адреса на моем сайте с точки зрения SEO. Сейчас у меня есть новости URL, структурирована следующим образом: http://example.com/news/ http://example.com/news/-FirebaseKey Где я могу - из последнего примера; получать информацию о статье непосредственно из firebase ключа, который предусмотрен в URL в качестве параметра. Тем не менее, я знаю, что это не является оптимальным для SEO - и мне было интересно, как я мог бы изменить это с моим URL структуры что-то вроде этого: http://example.com/news/this-is-an-example Как точно бы я подойти к этому? Я не могу думать о каких-либо других идеальных решениях, когда дело доходит до использования первичных и внешних ключей, потому что я не могу однозначно идентифицировать «названия» из моей firebase базы данных.
askaale
1

голосов
1

ответ
53

Просмотры

Firebase возвращение неожиданных значений

В дальнейшем я попытаюсь объяснить мою проблему, которая у меня есть, а извлечение данных из базы данных Firebase с помощью AS. Структура приложения: В настоящее время в том числе два вида деятельности, главное меню и чата. Активность чата отображает сообщения, имена пользователей и значки (пользователь тип т.е. администратора и онлайн-статус) Для того, чтобы получить онлайн-статус в чат-комнате, для каждого сообщения имя пользователя, хранится в ArrayList и передается на второй базе данных Reference (первая ссылка для сообщений), который перебирает все имена и извлекает метку времени, соответственно. Вопрос: В то время как это работает, как ожидалось, я заметил что-то не работает, особенно при первом запуске приложения, когда отображается полностью случайный онлайн-статус. Для того, чтобы исправить это, необходимо оставить активности чата, вернуться в главное меню и повторно ввести чат-комнату. После этого все отображается правильно. Я заметил, что сообщения и имена возвращаются точно так, как и ожидалось, временные метки, хотя рандомизированы, что приводит к онлайн-статус отображается либо в Интернете для всех сообщений, или в первой половине в автономном режиме, вторая половина онлайн. Ниже я привожу фрагменты кода, а также скриншоты. Если у вас есть предложения о том, как улучшить свой код или любые полезные ссылки, дайте мне, пожалуйста, знают, я еще новичок :) общественного недействительный chatLinstenerFirebase () {chatMessageCap (); playerNames.clear (); playerOnlineResult.clear (); // Путь хранения информации о текущем администрирования в базе данных mDatabase = FirebaseDatabase.getInstance () getReference ( «/ чат / сообщений»). mDatabase. е пользователи / моды / администратор Строка playerType = keyParts [1]; если (playerType.equals ( "DEV")) {playerTypeIcon.add (R.drawable.devicon); } Если (playerType.equals ( "пользователь")) {playerTypeIcon.add (0); } Если (playerType.equals ( "мод")) {playerTypeIcon.add (R.drawable.modicon); } Если (playerType.equals ( "администратор")) {playerTypeIcon.add (R.drawable.adminicon); } // время Отображение, когда сообщение было отправлено длинную метку времени = Long.parseLong (keyParts [0]); Дата МестноеВремя = новая дата (метка времени); Формат String = "HH: мм"; SimpleDateFormat SDF = новый SimpleDateFormat (формат); sdf.setTimeZone (TimeZone. getTimeZone ( "UTC")); Строка formattedDate = sdf.format (МестноеВремя); timestampResult.add (formattedDate); messageResult.add (значение); // Получение игроков временные метки для добавления онлайн / оффлайн значок, если (playerNames.size ()> = MESSAGE_COUNT) {// Перебрать всех игроков в чат-комнате для (String, п: playerNames) {bDatabase = FirebaseDatabase.getInstance (). getReference ( "/ lastonline /" + п); bDatabase.addValueEventListener (новый ValueEventListener () {@Override общественного недействительный OnDataChange (DataSnapshot dataSnapshot) {timestampOfPlayer = (длинный) dataSnapshot.getValue (); длинный currentTimeStamp = System. currentTimeMillis (); если (timestampOfPlayer + 300000> = currentTimeStamp) {playerOnlineResult.add (R.drawable.playeronline); } Если (timestampOfPlayer + 300000 <currentTimeStamp) {playerOnlineResult.add (R.drawable.playeroffline); } Если (playerOnlineResult.size ()> = MESSAGE_COUNT) {результат (а); }} @Override общественных недействительный onCancelled (DatabaseError DatabaseError) {}}); }}} ... ... @Override общественных недействительный onChildRemoved (DataSnapshot dataSnapshot) {playerNames.remove (0); messageResult.remove (0); timestampResult.remove (0); playerTypeIcon.remove (0); playerOnlineResult.remove (0); } ... ...}); } Общественного недействительный результат (а) {адаптер = новый ChatAdapter (это, playerNames, MessageResult, timestampResult, playerTypeIcon, playerOnlineResult); messagecontainer.setAdapter (адаптер); adapter.notifyDataSetChanged (); } Снимок экрана: левая сторона показывает неправильный онлайн статус при первом запуске, правая сторона работает, как ожидалось playerOnlineResult.remove (0); } ... ...}); } Общественного недействительный результат (а) {адаптер = новый ChatAdapter (это, playerNames, MessageResult, timestampResult, playerTypeIcon, playerOnlineResult); messagecontainer.setAdapter (адаптер); adapter.notifyDataSetChanged (); } Снимок экрана: левая сторона показывает неправильный онлайн статус при первом запуске, правая сторона работает, как ожидалось playerOnlineResult.remove (0); } ... ...}); } Общественного недействительный результат (а) {адаптер = новый ChatAdapter (это, playerNames, MessageResult, timestampResult, playerTypeIcon, playerOnlineResult); messagecontainer.setAdapter (адаптер); adapter.notifyDataSetChanged (); } Снимок экрана: левая сторона показывает неправильный онлайн статус при первом запуске, правая сторона работает, как ожидалось
Xatev
1

голосов
3

ответ
143

Просмотры

Firebase база мои данные не толкает. И получаю ошибку DatabaseException при добавлении ребенка вручную

Здравствуйте, я использую пользовательский адаптер для назначения, как я обрабатывать мои firebase объектов, а затем с помощью диалогового окна, чтобы назначить переменные на моем фрагменте. Мне нужна помощь по поводу того, что Дейты я относящие не толкания в мою firebase. Могу я спросить, почему? * EDIT ADDDED INFO КЛАСС И БАЗ SCHEMA Коды моего адаптера общественного класса UserTransactionAdapter расширяет RecyclerView.Adapter {личное List MINFO; частный Ответный mCallback; частный DatabaseReference UserRef; общественного UserTransactionAdapter (обратный вызов обратного вызова) {= mCallback обратного вызова; MINFO = новый ArrayList (); UserRef = FirebaseDatabase.getInstance () getReference () ребенок ( "Сделка")..; userref.addChildEventListener (новый UserChildEventListener ()); } Класс UserChildEventListener реализует ChildEventListener {@Override общественного недействительными onChildAdded (DataSnapshot dataSnapshot, String s) {Info Информация = dataSnapshot.getValue (Info.class); info.setKey (dataSnapshot.getKey ()); mInfo.add (0, информация); notifyDataSetChanged (); } @Override общественного недействительными onChildChanged (DataSnapshot dataSnapshot, String s) {Строка ключа = dataSnapshot.getKey (); Информация updatedInfo = dataSnapshot.getValue (Info.class); для (Инфо: MINFO) {если (. info.getKey () равно (ключ)) {info.setValues ​​(updatedInfo); notifyDataSetChanged (); вернуть; }}} @Override общественный недействительный onChildRemoved (DataSnapshot dataSnapshot) {ключ String = dataSnapshot.getKey (); для (Инфо: MINFO) {если (. info.getKey () равно (ключ)) {mInfo.remove (информация); перерыв; }} NotifyDataSetChanged (); } @Override общественного недействительными onChildMoved (DataSnapshot dataSnapshot, String s) {} @Override общественного недействительными onCancelled (DatabaseError DatabaseError) {}} @Override общественного ViewHolder onCreateViewHolder (ViewGroup родитель, внутр viewType) {Посмотреть вид = LayoutInflater.from (parent.getContext . ()) раздуть (R.layout.modelinfo, родитель, ложь); вернуть новый ViewHolder (вид); } @Override общественного недействительный onBindViewHolder (держатель ViewHolder, конечное положение INT) {окончательная информация Информация = mInfo.get (положение); holder.mNameTextView.setText (info.getName ()); holder.mMonthTextView.setText (info.getMonth ()); holder.mPayTextView.setText (информация. getPay ()); holder.mUntilTextView.setText (info.getUntil ()); holder.itemView.setOnClickListener (новый View.OnClickListener () {@Override общественного недействительными OnClick (View v) {mCallback.onEdit (информация);}}); } Общественного недействительными удалить (Инфо) {// TODO: Удалить следующую строку (ы) и использовать Firebase вместо userref.child (info.getKey ()) removeValue ();. } @Override общественного ИНТ getItemCount () {вернуться mInfo.size (); } Общественного недействительными добавить (Инфо) {// TODO: Удалить следующую строку (ы) и использовать Firebase вместо userref.push () SetValue (информация);. } Общественного ничтожной обновления (Инфо, String NEWNAME, String newMonth, String newPay, String newUntil) {// TODO: Удалить следующую строку (ы) и использовать Firebase вместо info.setName (NEWNAME); info.setMonth (newMonth); info.setPay (newPay); info.setUntil (newUntil); userref.child (info.getKey ()) SetValue (информация). } Интерфейс Ответный общественного {общественного недействительными onEdit (Инфо); } Класс ViewHolder расширяет RecyclerView.ViewHolder {частное TextView mNameTextView; частный TextView mMonthTextView; частный TextView mPayTextView; частный TextView mUntilTextView; общественного ViewHolder (View itemView) {супер (itemView); mNameTextView = (TextView) itemView.findViewById (R.id.nameTxt); mMonthTextView = (TextView) itemView.findViewById (R.id.monthTxt); mPayTextView = (TextView) itemView.findViewById (R.id.payTxt); mUntilTextView = (TextView) itemView.findViewById (R.id.untilTxt); }} И коды моего фрагмента публичного просмотра onCreateView (LayoutInflater Inflater, ViewGroup контейнер, Пачка savedInstanceState) {// Накачайте макет для этого фрагмента окончательного вида Вид = inflater.inflate (R.layout.fragment_transaction, контейнер, ложь); FloatingActionButton FAB = (FloatingActionButton) view.findViewById (R.id.fab); fab.setOnClickListener (новый View.OnClickListener () {@Override общественные недействительный OnClick (View вид) {showAddEditDialog (нуль);}}); mAdapter = новый com.google.firebase.ikuzou.database.UserTransactionAdapter (это); RecyclerView view1 = (RecyclerView) view.findViewById (R.id.recycler_view); view1.setLayoutManager (новый LinearLayoutManager (getContext ())); view1.setHasFixedSize (истина); view1.setAdapter (mAdapter); вернуться вид; } Частная пустота showAddEditDialog (конечная информация информация) {AlertDialog.Builder строитель = новый AlertDialog. Builder (getContext ()); builder.setTitle (GetString (информация == NULL R.string.dialog_add_title2: R.string.dialog_edit_title2)?); Посмотреть вид = getLayoutInflater () надуваться (R.layout.dialog_info, нуль, ложь). builder.setView (вид); Окончательный EditText nameEditText = (EditText) view.findViewById (R.id.nameEditText); Окончательный EditText monthEditText = (EditText) view.findViewById (R.id.monthEditText); Окончательный EditText payEditText = (EditText) view.findViewById (R.id.payEditText); Окончательный EditText untilEditText = (EditText) view.findViewById (R.id.untilEditText); если (информация! = NULL) {// предварительно заполнить nameEditText.setText (info.getName ()); monthEditText.setText (info.getMonth ()); payEditText.setText (info.getPay ()); untilEditText.setText (info.getUntil ()); TextWatcher textWatcher = новый TextWatcher () {@Override общественного недействительными beforeTextChanged (CharSequence сек, внутр начало, число INT, INT после) {// пусто} @Override общественная пустота OnTextChanged (CharSequence с, INT начало, внутр перед тем, внутр счетчик) { . // пусто} @Override общественного недействительный afterTextChanged (редактируемые s) {имя String = nameEditText.getText () ToString (); . Строка месяц = ​​monthEditText.getText () ToString (); . Строка оплаты = payEditText.getText () ToString (); . Строка до = untilEditText.getText () ToString (); mAdapter.update (информация, имя, месяц, не платить, пока); }}; nameEditText.addTextChangedListener (textWatcher); monthEditText.addTextChangedListener (textWatcher); payEditText.addTextChangedListener (textWatcher); untilEditText.addTextChangedListener (textWatcher); } Builder.setPositiveButton (android.R.string.ok, новый DialogInterface.OnClickListener () {аннулируются OnClick (диалог @Override общественности DialogInterface, внутр которых) {если (информация == NULL) {имя String = nameEditText.getText (). ToString ();. Строка месяц = ​​monthEditText.getText () ToString ();. Строка оплаты = payEditText.getText () ToString (); Строка до = untilEditText.getText () ToString ();. mAdapter.add (новая информация ( имя, месяц, не платить, пока));}}}); builder.setNegativeButton (android.R.string.cancel, NULL); builder.create () шоу (). Могу ли я знать ошибки на моих кодах, так что я могу знать, почему это происходит? Или, возможно, это потому, что я до сих пор не создал узел транзакции еще вот почему это происходит? EDIT Я пытался добавить дочерние узлы вручную, и теперь я получаю DatabaseException: Не удается преобразовать объект типа java.lang.String к типу ошибки Вот мои инфокоды класс общественного класса Info {частное имя String, месяц, платить, пока , ключ; общественная информация () {} публичная информация (имя String, String месяц, String получка, String истекают) {this.name = this.name; this.month = this.month; this.pay = this.pay; this.until = this.until; } Строка GetName () {имя общественного возврата; } Общественной недействительная SetName (имя String) {this.name = имя; } Строка getMonth общественности () {возвращение месяц; } Общественного недействительными setMonth (String месяц) {this.month = месяц; } Строка getPay общественности () {возвращение заработной платы; } Общественного недействительными SetPay (String платить) {this.pay = оплата; } Строка getUntil общественности () {возвращение до; } Общественной недействительный setUntil (строка до) {this.until = до; } @Exclude общественности Строка GETKEY () {вернуть ключ; } Общественного недействительными SetKey (ключ String) {this.key = ключ; } Общественной недействительная setValues ​​(информация updatedInfo) {this.name = updatedInfo.name; this.month = updatedInfo.month; this.pay = updatedInfo.pay; this.until = updatedInfo.until; } Моя база данных месяц = ​​updatedInfo.month; this.pay = updatedInfo.pay; this.until = updatedInfo.until; } Моя база данных месяц = ​​updatedInfo.month; this.pay = updatedInfo.pay; this.until = updatedInfo.until; } Моя база данных
Yamiess
1

голосов
2

ответ
486

Просмотры

как обновить данные в базе данных firebase, вместо того чтобы создавать новые данные, используя reactjs?

Я использую reactjs вместе с firebase базы данных для хранения «к делу» пункта. Я могу успешно хранить объекты п firebase базы данных. Но, как обновить определенный объект в базе данных firebase. Мой компонент «Дела», где я храню объект в базе данных firebase. импорта React, {Компонент} от 'реагируют'; импорт {UserRef} от»../firebase.js'; Класс Todo расширяет Компонент {Конструктор (реквизит) {супер (реквизит); this.state = {todotitle: ''}} StoreTitle () {userRef.push ({название: {this.state.title}})} Render () {возвращение (this.setState ({электронная почта: event.target.value })} /> this.storeTitle ()}> Post)} Мой компонент ToDo-обновление, где мне нужно обновить конкретный объект, а не создавать новый объект. импорта React, {Компонент} от 'реагируют'; импорт {UserRef} от»../firebase.js'; Класс Todoupdate расширяет Компонент {Конструктор (реквизит) {супер (реквизит); this.state = {todotitle: ''}} componentWillMount () {userRef.on ( 'значение', данные => {this.setState ({todotitle: data.val ()})})} updateTitle () {// обновить название Todo} визуализации () {возвращение (this.setState ({электронная почта: event.target.value})} /> this.updateTitle ()}>
Thananjaya S
1

голосов
1

ответ
40

Просмотры

Невозможно отобразить два элемента в customview

Я хочу, чтобы показать детали в моих пользовательских ListView, но я не могу показаться, чтобы заставить его работать. Деятельность просто падает. Моя цель состоит в том, чтобы показать, как элементы в виде списка. Я могу получить и сохранить необходимые данные из firebase в отдельные ArrayLists, но не смог показать их в ListView. Присоединение всех необходимых кодов ниже. Это мой класс customadapter общественного класса CustomAdapter расширяет ArrayAdapter {частного контекст окончательных деятельностей; частный окончательный ArrayList основной; частный окончательный ArrayList к югу; общественного CustomAdapter (контекст деятельности, ArrayList основной, ArrayList суб) {супер (контекст, R.layout.colortext, основной); this.context = контекст; this.main = основной; this.sub = суб; } @Override общественности Посмотреть GetView (интермедиат положение, Вид вид, ViewGroup родитель) {LayoutInflater инфлятор = context.getLayoutInflater (); Просмотр rowView = inflater.inflate (R.layout.colortext, нуль, правда); TextView txtTitle = (TextView) rowView.findViewById (R.id.textmain); TextView txtSub = rowView.findViewById (R.id.address); txtTitle.setText ((целое число) main.get (положение)); txtSub.setText ((целое число) sub.get (положение)); вернуться rowView; }} XML пользовательского mainactivity mDatabase.child ( "пользователи"). Ребенок (mUserId) .child ( "LOCs"). addValueEventListener (новый ValueEventListener () {@Override общественного недействительный OnDataChange (@NonNull DataSnapshot dataSnapshot) {для (DataSnapshot Д.С. : dataSnapshot.getChildren ()) {main.add (ds.child ( "название" ) .GetValue (String.class)); Строка г = main.toString (); sub.add (. ds.child ( "ADDR") GetValue (String.class)); Указатель на строку = sub.toString (); Список ListView = findViewById (R.id.listView1); CustomAdapter adapter2 = новый CustomAdapter (Местоположение.Отель, главное, к югу); list.setAdapter (adapter2); }} list.setAdapter (adapter2); }} list.setAdapter (adapter2); }}
Prismere
1

голосов
1

ответ
49

Просмотры

Как создать нового пользователя в firebase с помощью JavaScript

Я делаю веб-приложение. На данный момент я нахожусь в состоянии вводить и извлекать данные в firebase. Я хочу, чтобы ввести адрес электронной почты и пароль подробности моей формы на вкладке «Пользователи» в разделе «Аутентификация» firebase, а затем я пытаюсь войти в систему. Ниже мой код, чтобы ввести свои данные для пользователя. Функция SubmitForm (е) {e.preventDefault (); // получить имя значения переменного = getInputVal ( 'имени'); вар адрес = getInputVal ( 'адрес'); вар электронная почта = getInputVal ( 'электронная почта'); вар телефон = getInputVal ( 'телефон'); вар пароль = getInputVal ( 'пароль'); enterUser (адрес электронной почты, пароль); saveMessage (имя, адрес, электронная почта, телефон, пароль); // показать предупреждение document.querySelector ( 'предупреждение'.) Style.display = 'блок'. // скрыть оповещения после трех ИКС SetTimeout (функция () {document.querySelector ( 'начеку'). Стиль. дисплей = «ни»; }, 3000); . Document.getElementById ( 'ContactForm') сброса (); } Функция enterUser (имя, пароль) {если ((имя) && (пароль)) {firebase.auth (). CreateUserWithEmailAndPassword (имя, пароль) .then (функция (пользователь) {// Вводит новые пользовательские поля console.log (user.email); // ...}); }} Первая функция «SubmitForm» работает, когда я нажимаю кнопку отправки на моем DOM. Эта функция сохраняет все данные в сборнике «сообщения» в firebase. После этого в моей функции «enterUser» я пытаюсь создать пользователь электронной почты и пароль, введенный в «SubmitForm» и ввести его в «аутентификацию пользователей» firebase. Проблема заключается в том, что не создает каких-либо пользователя, как показано на рисунке, приведенном ниже.
Prateek
1

голосов
1

ответ
30

Просмотры

Должен ли я использовать обещание? Функция FIrebase возвращение неопределенного

У меня есть следующие функции, правильно собирая пять элементов я, хранящиеся в базе данных firebase. но когда я возвращать значение обратно в вызывающую функцию я получаю не определено. Я добавил тайм-аут, чтобы увидеть, если данные не поступают обратно во время, но оба console.logs распечатать неопределенное. Я пытаюсь понять, что я пропавшими без вести. функционировать getSpecialDbData () {вар исх = firebase.database () реф (). ref.once ( "значение", функция (снимок) {вар specialsData = [], г = 0; snapshot.forEach (функция (childSnapshot) {вар childData = childSnapshot.val (); specialsData [I] = childData; я ++; }); console.log (specialsData); // это работает возвращать specialsData;}); }; Это' ы вызывается с помощью следующего кода пусть specialData = getSpecialDbData (); SetTimeout (функция () {console.log (specialData);}, 5000); console.log (specialData);
Joe Horn
1

голосов
1

ответ
37

Просмотры

Я хочу, чтобы получить только значение адреса из firebase базы данных?

Я хочу, чтобы получить только значение адреса из базы данных firebase! $ Scope.address = $ firebaseArray (. FireBaseData.refUser () ребенок ($ scope.user_info.uid) .child ( "адрес")); console.log (адрес);
Karan Kapadni
1

голосов
1

ответ
63

Просмотры

Firebase: Добавить в Зарегистрированный пользователь

Пожалуйста, помогите, я могу добавить значения в мою проверке подлинности пользователя? У меня есть класс CreateUser где я создал мою аутентификацию пользователя. общественный класс CreateUserAccount расширяет AppCompatActivity {личного EditText inputEmail, inputPassword; частная кнопка btnSignUp; частный FirebaseAuth аутентификации; @Override защищены недействительный OnCreate (Пачка savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_create_account); // Получить Firebase аутентификации экземпляра AUTH = FirebaseAuth.getInstance (); btnSignUp = (кнопка) findViewById (R.id.sign_up_button); inputEmail = (EditText) findViewById (R.id.email); inputPassword = (EditText) findViewById (R.id.password); startActivity (новые Intent (Settings.ACTION_USAGE_ACCESS_SETTINGS)); Toast.makeText (это, " makeText (getApplicationContext () "Пароль слишком короткий Введите минимум 6 символов", Toast.LENGTH_SHORT) .show (); вернуть; } // создать пользователя auth.createUserWithEmailAndPassword (адрес электронной почты, пароль) .addOnCompleteListener (CreateUserAccount.this, новый OnCompleteListener () {@Override общественная пустота задача OnComplete (@NonNull Task) {Toast.makeText (CreateUserAccount.this, "User Account Created" + task.isSuccessful (), Toast.LENGTH_SHORT) .show (); // Если вход не удалась, отображается сообщение для пользователя. Если вход успешно // авторизация состояние слушатель будет уведомлен и логика обрабатывать // подписаны пользователи могут быть обработаны в слушателе. (! Task.isSuccessful ()), если {Toast.makeText (CreateUserAccount.this, "не аутентификации." + Task.getException (), Toast.LENGTH_SHORT) .show (); } еще {startActivity (новое Намерение (CreateUserAccount.this, LandingPage.class)); Конец(); }}}); }}); }} После того, как аутентифицированный пользователь вошел в систему, они могут нажать на странице, где они могут вводить их имена детей, которые записаны в БД в режиме реального времени. общественный класс AddChild расширяет пользователь AppCompatActivity {FirebaseUser = FirebaseAuth.getInstance () getCurrentUser (). Строка useruid = user.getUid (); // мы будем использовать эти константы позже передать имя исполнителя и идентификатор в другую деятельность государственного статический конечная строки ARTIST_NAME = «net.simplifiedcoding.firebasedatabaseexample.artistname»; общественности статической конечной строки ARTIST_ID = «net.simplifiedcoding.firebasedatabaseexample.artistid»; // просматривать объекты EditText editChildName; CardView AddChild; ListView lvChildren; // списка для хранения все художника из списка firebase базы данных детей; // наши databaseChildren DatabaseReference базы данных ссылка на объект; @Override защищен недействительным OnCreate (Bundle savedInstanceState) {супер. OnCreate (savedInstanceState); setContentView (R.layout.activity_add_child); // получение ссылки на художников узла databaseChildren = FirebaseDatabase.getInstance () getReference ( "дети"). // получение просмотров editChildName = (EditText) findViewById (R.id.editChildName); lvChildren = (ListView) findViewById (R.id.lvChildren); AddChild = (CardView) findViewById (R.id.addChild); // список для хранения художников детей = новый ArrayList (); // добавление onclicklistener к кнопке addChild.setOnClickListener (новый View.OnClickListener () {@Override общественного недействительными OnClick (Просмотр вида) {// Вызов метода addArtist () // метод определен ниже // этот метод фактически выполняет операция записи AddChild ();}}); } / * * Этот метод сохранения нового художника к * Firebase в реальном времени базы данных * / частный пустота AddChild () {// Получение значения для сохранения String Name = editChildName.getText () ToString () отделка ()..; // проверка, если значение при условии, если (! TextUtils.isEmpty (имя)) {// получение уникального идентификатора, используя нажим (). GETKEY () метод // это создаст уникальный идентификатор, и мы будем использовать его в качестве основного Ключ для нашего Исполнитель ID ЦЕПИ = databaseChildren.push () GETKEY (). // создание объекта Исполнителя ребенок ребенок = новый ребенок (имя); // Сохранение Исполнитель databaseChildren.child (ID) .setValue (ребенок); // установка EditText на пустой снова editChildName.setText ( ""); // отображение успеха тост Toast.makeText (это, "добавил ребенка", Toast.LENGTH_LONG) .show (); } Еще {// если значение не задано отображение тостов Toast.makeText (это, «Пожалуйста, введите имя», Toast.LENGTH_LONG) .show (); }}} ______CHILD CLASS________ импорта com.google.firebase.database.IgnoreExtraProperties; @IgnoreExtraProperties ребенка общественного класса {частное Струнный ChildName; общественный ребенок () {// требуется этот конструктор} общественности Child (String ChildName) {this.childName = ChildName; } Строка общественного getChildName () {вернуться ChildName; }} Есть ли способ добавления значения DB класса AddChild, что я введённые этому пользователю? Так что авторизованный пользователь может просматривать их детям имена, которые были введены? Спасибо-спасибо LENGTH_LONG) .show (); }}} ______CHILD CLASS________ импорта com.google.firebase.database.IgnoreExtraProperties; @IgnoreExtraProperties ребенка общественного класса {частное Струнный ChildName; общественный ребенок () {// требуется этот конструктор} общественности Child (String ChildName) {this.childName = ChildName; } Строка общественного getChildName () {вернуться ChildName; }} Есть ли способ добавления значения DB класса AddChild, что я введённые этому пользователю? Так что авторизованный пользователь может просматривать их детям имена, которые были введены? Спасибо-спасибо LENGTH_LONG) .show (); }}} ______CHILD CLASS________ импорта com.google.firebase.database.IgnoreExtraProperties; @IgnoreExtraProperties ребенка общественного класса {частное Струнный ChildName; общественный ребенок () {// требуется этот конструктор} общественности Child (String ChildName) {this.childName = ChildName; } Строка общественного getChildName () {вернуться ChildName; }} Есть ли способ добавления значения DB класса AddChild, что я введённые этому пользователю? Так что авторизованный пользователь может просматривать их детям имена, которые были введены? Спасибо-спасибо общественный ребенок () {// требуется этот конструктор} общественности Child (String ChildName) {this.childName = ChildName; } Строка общественного getChildName () {вернуться ChildName; }} Есть ли способ добавления значения DB класса AddChild, что я введённые этому пользователю? Так что авторизованный пользователь может просматривать их детям имена, которые были введены? Спасибо-спасибо общественный ребенок () {// требуется этот конструктор} общественности Child (String ChildName) {this.childName = ChildName; } Строка общественного getChildName () {вернуться ChildName; }} Есть ли способ добавления значения DB класса AddChild, что я введённые этому пользователю? Так что авторизованный пользователь может просматривать их детям имена, которые были введены? Спасибо-спасибо
extragum
1

голосов
1

ответ
271

Просмотры

Java приложений передавать данные Firebase

Я пытаюсь построили приложения Java для извлечения и сохранения данных в базу данных Firebase. Я следовал этой ссылке и загрузить подробности услуги счета и использовать тот же в проекте. Я строю проект по IntelliJ и добавлены все необходимые зависимости. Но я не в состоянии сохранять / извлекать любые данные в / из firebase. Во время работы кода я не получил каких-либо ошибок. открытый класс база данных {частный статический окончательный DATABASE_URL String = «https://DATABASE-NAME.firebaseio.com»; частная статическая конечная строка FILE_NAME = «услуги-счет-скачано-file.json»; частная база данных статического DatabaseReference; государственной статической силы основных (String арг []) {// Инициализировать Firebase попробовать {// [START инициализировать] FileInputStream ServiceAccount = новый FileInputStream (FILE_NAME); FirebaseOptions опции = новый FirebaseOptions.Builder () .setCredential (FirebaseCredentials.fromCertificate (ServiceAccount)) .setDatabaseUrl (DATABASE_URL) .setDatabaseAuthVariableOverride (нуль) .build (); FirebaseApp.initializeApp (варианты); // [END инициализировать]} поймать (IOException е) {System.out.println ( "ОШИБКА:.. Недействительные учетные данные учетной записи службы см README"); System.out.println (e.getMessage ()); System.exit (1); } // Общая справочная база данных база данных = FirebaseDatabase.getInstance () getReference (). startListeners (); попробовать {Thread.sleep (20000); } Задвижка (InterruptedException е) {e.printStackTrace (); }} Государственной статической силы startListeners () {базы данных FirebaseDatabase = FirebaseDatabase.getInstance (); DatabaseReference исх = database.getReference () ребенок ( "пользователь"). ref.setValue ( "пользовательские данные", новый DatabaseReference.CompletionListener () {@Override общественного недействительными OnComplete (DatabaseError DatabaseError, DatabaseReference databaseReference) {если (DatabaseError! = NULL) {System.out.println ( "Данные не могут быть сохранены" + databaseError.getMessage ());} еще {System.out.println ( "успешно сохранены данные.");}}}); }} CompletionListener () {@Override общественного недействительными OnComplete (DatabaseError DatabaseError, DatabaseReference databaseReference) {если (! DatabaseError = NULL) {System.out.println ( "Данные не могут быть сохранены" + databaseError.getMessage ()); } Еще {System.out.println ( "успешно сохранены данные."); }}}); }} CompletionListener () {@Override общественного недействительными OnComplete (DatabaseError DatabaseError, DatabaseReference databaseReference) {если (! DatabaseError = NULL) {System.out.println ( "Данные не могут быть сохранены" + databaseError.getMessage ()); } Еще {System.out.println ( "успешно сохранены данные."); }}}); }}
vishal
1

голосов
1

ответ
40

Просмотры

Firebase база данных не вытягивать данные в пользовательской ячейке в Tableview

Возникли проблемы с пользовательскими клетки не появляются и не показывает данные из базы данных firebase - не уверен, какой из них проблема, но я только получаю кучу без пользовательских ячеек в Tableview вместо заголовка и описания. Я попытался увидеть данные Бросили печать и ничего появляющегося, то не так с моим кодом? отладчик не показывает ничего особенного. импорт UIKit импорт класс FirebaseDatabase SearchViewController: UIViewController, UISearchBarDelegate {@IBOutlet слабый вар Tableview: UITableView! // часть сообщений нагрузочных сообщения вара = [сообщение] () функ loadPosts () {вар сообщения = [сообщение] () Database.database (). Ссылки (). Ребенок ( "Сообщения"). Соблюдающие (.childAdded) { (снимок: DataSnapshot) в случае пусть Dict = snapshot.value как? [String: Любой] {пусть CaptionText = Dict [ "заголовок"], как! Строка пусть descriptionText = Dict [ "описание"], как! Строка пусть photoUrlString = Dict [ "photoUrl"], как! Строка пусть tagsText = Dict [ "теги"] как! Строка пусть пост = Post (CaptionText: CaptionText, descriptionText: descriptionText, photoUrlString: photoUrlString, tagsText: tagsText) posts.append (пост) печати (self.posts) self.tableView.reloadData ()}}} // часть SearchBar пусть SearchBar = UISearchBar () FUNC searchBarCancelButtonClicked (_ SearchBar: UISearchBar) {searchBar.endEditing (истина)} функ searchBarSearchButtonClicked (_ SearchBar: UISearchBar) {searchBar.endEditing (истина)} переопределение FUNC viewDidLoad () {супер. viewDidLoad () createSearchBar () tableView.dataSource = само tableView.delegate = само loadPosts ()} функ createSearchBar () {searchBar.showsCancelButton = ложь searchBar.placeholder = "Введите здесь" searchBar.delegate = само self.navigationItem.titleView = SearchBar }} // часть Tableview расширения SearchViewController: UITableViewDataSource, UITableViewDelegate {FUNC Tableview (_ Tableview: UITableView, numberOfRowsInSection раздел: Int) -> Int {возвращение posts.count} функ Tableview (_ Tableview: UITableView, cellForRowAt indexPath: indexPath) - > UITableViewCell {пусть клеток = tableView.dequeueReusableCell (withIdentifier: "searchCell", для: indexPath) как! CustomTableViewCell клеток.
Alex. E
1

голосов
0

ответ
29

Просмотры

access DatabaseReference inside other DatabaseReference

Я хочу, чтобы получить доступ к скорости DatabaseReference внутри EventListener к DatabaseReference с п = FirebaseDatabase.getInstance () getReference () ребенок ( "а")..; ValueEventListener EventListener = новый ValueEventListener () {@Override общественного недействительными OnDataChange (com.google.firebase.database.DataSnapshot dataSnapshot) {если (dataSnapshot.getChildren () == NULL) {Toast.makeText (с, "нет грузовых автомобилей", Toast .LENGTH_SHORT) .show (); //Toast.makeText(this "Привет", Toast.LENGTH_SHORT) .show (); // startActivity (новый Intent (getActivity (), AdminHome2.class)); } Dogies.clear (); для (com.google.firebase.database.DataSnapshot DS: dataSnapshot.getChildren ()) {D = новый а (); d.setU (ds.getValue (класс A.class) .getU ()); Toast.makeText (с, d.getUid () + "", Toast.LENGTH_SHORT) .show (); если (d.getU ()! = NULL) {////// ___________ скорость / скорость = FirebaseDatabase.getInstance (). getReference (). Ребенок ( "Скорость"). Ребенок (d.getU ()). Ребенок ( "сумма"); ValueEventListener eventListener2 = новый ValueEventListener () {@Override общественного недействительными OnDataChange (com.google.firebase.database.DataSnapshot dataSnapshot) {если (dataSnapshot.getChildren () == NULL) {Toast.makeText (с, "нет рейтинга", Toast .LENGTH_SHORT) .show (); //Toast.makeText(this " учебный класс)); } Скорость sumRate = новый sumRate (); rate.setSum (dataSnapshot.getValue (sumRate.class) .getSum ()); rate.setNumCus (dataSnapshot.getValue (sumRate.class) .getNumCus ()); Int А = rate.getSum (); INT б = rate.getNumCus (); Toast.makeText (с, а + "", Toast.LENGTH_SHORT) .show (); d.setNumCus (2); d.setSumRate (2); учебный класс)); } Скорость sumRate = новый sumRate (); rate.setSum (dataSnapshot.getValue (sumRate.class) .getSum ()); rate.setNumCus (dataSnapshot.getValue (sumRate.class) .getNumCus ()); Int А = rate.getSum (); INT б = rate.getNumCus (); Toast.makeText (с, а + "", Toast.LENGTH_SHORT) .show (); d.setNumCus (2); d.setSumRate (2); GetValue (sumRate.class) .getNumCus ()); Int А = rate.getSum (); INT б = rate.getNumCus (); Toast.makeText (с, а + "", Toast.LENGTH_SHORT) .show (); d.setNumCus (2); d.setSumRate (2); GetValue (sumRate.class) .getNumCus ()); Int А = rate.getSum (); INT б = rate.getNumCus (); Toast.makeText (с, а + "", Toast.LENGTH_SHORT) .show (); d.setNumCus (2); d.setSumRate (2);
user8956325
1

голосов
1

ответ
35

Просмотры

Получение определенного ключа от Firebase в Framer

им действительно нового в кодировании таким образом мой вопрос может быть очень легко. На изображении ниже вы можете увидеть, что я имею в Firebase. Вот что я имею в моем Firebase В Framer им с помощью этого модуля и после написания этого кода: ответ = (имена) -> имена печати firebase.get ( «/ тест / пункты», ответ, {OrderBy: «$ ключ»}) им получить что-то вроде этого: {-L8S1RLTU3P3Lb-PxtsF: {сумма: 24926, дата: "25.3.2018", типа: "с"}, -L8S1RTNNySP0quUICNt: {сумма: 23616, дата: "25.3.2018", введите: «с»}, -L8S1RYPmG8L_EkYV8Vd: {сумма: 37863, дата: «25.3.2018», типа: «б»}} проблема заключается в том, что я хочу, чтобы получить только сумму. Когда им пытаются изменить $ ключ к сумме, которую она дает мне ошибку: {ошибка: «Индекс не определен, добавьте» .indexOn «:„количество“, для пути„/ тест / пунктов“, к правилам»
Anatoly Sidorov

Просмотр дополнительных вопросов