gpt4 book ai didi

android - Xamarin、Android、Firebase : "Defualt FirebaseApp is not initialized error". ..?

转载 作者:行者123 更新时间:2023-11-30 00:31:07 25 4
gpt4 key购买 nike

我正在开发一个聊天应用程序,并找到了一些关于如何将 Firebase 实现到 Xamarin 中的示例。我想我已经按照教程中的方式完成了所有操作,但我收到此错误:

Java.Lang.IllegalStateException: Default FirebaseApp is not initialized in this process XamarinChatApp.XamarinChatApp. Make sure to call FirebaseApp.initializeApp(Context) first.

所以,我所做的就是在错误发生之前添加这行代码:

    Firebase.FirebaseApp.InitializeApp(this);

然而,这并没有改变任何东西。

这是完整的主要 Activity :

    public class MainActivity : AppCompatActivity,IValueEventListener
{
private FirebaseClient firebase;
private List<MessageContent> lstMessage = new List<MessageContent>();
private ListView lstChat;
private EditText edtChat;
private FloatingActionButton fab;

public int MyResultCode = 1;


protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
}



protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView (Resource.Layout.Main);

firebase = new FirebaseClient(GetString(Resource.String.firebase_database_url));
Firebase.FirebaseApp.InitializeApp(this);
FirebaseDatabase.Instance.GetReference("chats").AddValueEventListener(this);

fab = FindViewById<FloatingActionButton>(Resource.Id.fab);
edtChat = FindViewById<EditText>(Resource.Id.input);
lstChat = FindViewById<ListView>(Resource.Id.list_of_messages);


fab.Click += delegate
{

PostMessage();
};



if (FirebaseAuth.Instance.CurrentUser == null)
StartActivityForResult(new Android.Content.Intent(this, typeof(SignIn)), MyResultCode);
else
{
Toast.MakeText(this, "Welcome " + FirebaseAuth.Instance.CurrentUser.Email, ToastLength.Short).Show();
DisplayChatMessage();
}
}

private async void PostMessage()
{
var items = await firebase.Child("chats").PostAsync(new MessageContent(FirebaseAuth.Instance.CurrentUser.Email, edtChat.Text));
edtChat.Text = "";
}

public void OnCancelled(DatabaseError error)
{

}

public void OnDataChange(DataSnapshot snapshot)
{
DisplayChatMessage();
}

private async void DisplayChatMessage()
{
lstMessage.Clear();
var items = await firebase.Child("chats")
.OnceAsync<MessageContent>();

foreach (var item in items)
lstMessage.Add(item.Object);
ListViewAdapter adapter = new ListViewAdapter(this, lstMessage);
lstChat.Adapter = adapter;
}
}
}

问题发生在 OnCreate 中,就在:

FirebaseDatabase.Instance.GetReference("chats").AddValueEventListener(this);

我在这个论坛上找到了另一个解决方案,但他们所做的只是添加上面的行并且它起作用了。对我来说,不幸的是它没有。

任何帮助都会很棒 :)谢谢

最佳答案

好吧,错误很简单:我在 firebase 控制台中的包名称与我的应用程序中的包名称不同。

关于android - Xamarin、Android、Firebase : "Defualt FirebaseApp is not initialized error". ..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44327264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com