В Xamarin, как я могу прослушать изменения и вернуть последнюю записанную запись в дочернюю базу данных Firebase Database? - PullRequest
0 голосов
/ 29 марта 2020

Я боролся с отсутствием документации для Xamarin / Firebase. Мне нужна помощь по AsObservable, Subscribe и LimitToLast (). У меня работает первое препятствие:

FirebaseHelper.cs

using Firebase.Database;
using Firebase.Database.Query;
using PelletPirate.Models;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Threading.Tasks;

namespace PelletPirate.Services
{
    public class FirebaseHelper
    {

        FirebaseClient firebase = new FirebaseClient("https://temps.firebaseio.com/");

        private readonly string ChildTemp = "ControllerData/Controller/Temps";

        public Task<Temperature> GetTemps()
        {
            firebase.Child(ChildTemp).AsObservable<Temperature>().Subscribe(temps =>
            {
                System.Diagnostics.Debug.WriteLine("GetTemps - Subscribe temps: [" + temps.Object.TT + "]");
            });

            return null;

        }
    }
}

Я получаю свои 4 температуры из Firebase, и если я сделаю ЛЮБЫЕ изменения в данных Firebase , Я получаю обновленную запись вывода, так что наблюдаемая подписка работает.

[0:] GetTemps - Subscribe temps: [225]
[0:] GetTemps - Subscribe temps: [200]
[0:] GetTemps - Subscribe temps: [225]
[0:] GetTemps - Subscribe temps: [605]

Goo Deal, но я хочу прослушать OnChanges и получить самую последнюю (последнюю) температуру, добавленную с помощью LimitToLast (). Вот где я в замешательстве и не могу найти никакой ссылки на Xamarin Firebase о том, как настроить

firebase.LimitToLast(1).on('child_added, (snap) => { *...assign snap stuff here...* });

Я могу сделать это легко в Angular TypeScript, но, похоже, не могу переведите это на Xamarin C#

  getLastTemps(controller)
  {
    const Ref = this.firebase.database.ref('ControllerData/' + controller + '/Temps');
    Ref.limitToLast(1).on('child_added', (snap) =>
    {
         ... do some action with snap actions/assignments object here...
    });
  }

Любая справка по коду Xamarin Firebase или справочный пример или для хороших документов будет принята с благодарностью. Спасибо за ваше время, чтобы прочитать это далеко.

brbeardm

...