use*_*509 6 android firebase xamarin
我开始对这句话感到疯狂:
Java.Lang.IllegalStateException:默认 FirebaseApp 在此过程中未初始化 com.TalkAboutTv.TalkAboutTv。确保首先调用 FirebaseApp.initializeApp(Context)。
我不知道是什么原因造成的。我正在调用 FirebaseApp.IntApp(this) 并且我的包名称匹配...为什么它不起作用?
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("2131099704");
Firebase.FirebaseApp.InitializeApp(this);
FirebaseDatabase.Instance.GetReference("chats").AddValueEventListener(this);
fab = FindViewById<Button>(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;
}
}
Run Code Online (Sandbox Code Playgroud)
}
尝试在您的 Application 类中初始化 firebase(OnCreate 方法)。但首先从项目控制台下载 google-services.json 文件,并确保它的 Build Action 值为“GoogleServicesJson”。
您不需要再做的一件事是FirebaseApp.initializeApp(this)从您的MainActivity.OnCreate()方法中调用。如果您这样做,您可能应该删除该调用,因为它是不必要的,并且可能会导致下游并发症。
我尝试删除bin和obj文件夹,确保我的构建类型google-services.json正确,并且在我的(或者如果您仍在使用 C#)文件GoogleServicesJson中正确选择了构建类型。然而错误仍然发生。fsprojcsproj
我做错的是我的包名称有一个拼写错误。如果您已执行上述所有步骤,请检查文件package_name中的字段google-services.json,并确保它与项目的包名称完全对应。然后清理并重建您的项目。
| 归档时间: |
|
| 查看次数: |
9084 次 |
| 最近记录: |