Ваш код нормальный. Но ваш может быть меньше некоторых шагов
Пожалуйста, обратитесь к следующим способам использования базы данных Firebase.
Прежде всего, пожалуйста, откройте консоль базы данных Firebase, установите для правила чтения / записи значение null, как на следующем скриншоте.
Затем создайте модуль user
.
public class User
{
public string first_name { get; set; }
public string last_name { get; set; }
public string password { get; set; }
public int userid { get; set; }
}
Вот мой firebasehelper.
public class Firebasehelper
{
FirebaseClient firebase;
public Firebasehelper()
{
firebase = new FirebaseClient("https://fir-databasedemo-62a72.firebaseio.com/");
}
public async Task AddUser(int userid, string first_name, string last_name, string password)
{
await firebase
.Child("Users")
.PostAsync(new User() { userid = userid, first_name = first_name, last_name= last_name, password= password });
}
public async Task<List<User>> GetAllUsers()
{
return (await firebase
.Child("Users")
.OnceAsync<User>()).Select(item => new User
{
userid = item.Object.userid,
first_name = item.Object.first_name,
last_name = item.Object.last_name,
password = item.Object.password
}).ToList();
}
}
Пожалуйста, не создавайтеЗаписи в FireBase напрямую.Мы должны добавить эти записи по коду.После успешного добавления этих записей вы можете увидеть эти записи в консоли Firebase.

Использовать со следующим кодом.
private async void BtnAdd_Clicked(object sender, EventArgs e)
{
// AddUser(int userid, string first_name, string last_name, string password)
await firebaseHelper.AddUser(Convert.ToInt32(1), "Jon","hard","123.com");
await firebaseHelper.AddUser(Convert.ToInt32(1), "Leon", "esay", "1234.com");
await firebaseHelper.AddUser(Convert.ToInt32(1), "Rebecca", "middlue", "12345.com");
await DisplayAlert("Success", "Person Added Successfully", "OK");
var allPersons = await firebaseHelper.GetAllUsers();
lstPersons.ItemsSource = allPersons;
}
Вот мой MainPage.xaml
.
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:RetireveRecordDemo"
x:Class="RetireveRecordDemo.MainPage">
<StackLayout>
<Button x:Name="BtnAdd" Text="add" />
<ListView x:Name="lstPersons">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<Label Text="{Binding first_name}" >
</Label>
<Label Text="{Binding last_name}" >
</Label>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage>
MainPage.xml.cs
public partial class MainPage : ContentPage
{
Firebasehelper firebaseHelper;
public MainPage()
{
InitializeComponent();
firebaseHelper = new Firebasehelper();
BtnAdd.Clicked += BtnAdd_Clicked;
}
private async void BtnAdd_Clicked(object sender, EventArgs e)
{
// AddUser(int userid, string first_name, string last_name, string password)
await firebaseHelper.AddUser(Convert.ToInt32(1), "Jon","hard","123.com");
await firebaseHelper.AddUser(Convert.ToInt32(1), "Leon", "esay", "1234.com");
await firebaseHelper.AddUser(Convert.ToInt32(1), "Rebecca", "middlue", "12345.com");
await DisplayAlert("Success", "Person Added Successfully", "OK");
var allPersons = await firebaseHelper.GetAllUsers();
lstPersons.ItemsSource = allPersons;
}
protected async override void OnAppearing()
{
base.OnAppearing();
try
{
base.OnAppearing();
var allUsers = await firebaseHelper.GetAllUsers();
lstPersons.ItemsSource = allUsers;
}
catch (Exception ex)
{
throw new Exception("OnAppearing Additional information..." + ex, ex);
}
}
}
Есть запущенный скриншот.

Вот мое демо.https://github.com/851265601/RetireveRecordDemo
В базе данных Firebase есть полезная статья для CRUD.https://www.c -sharpcorner.com / статьи / Xamarin-формы работоспособный-с firebase-Realtime-БД-CRUD-операции /