Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Xamarin,Firebase:“;默认FirebaseApp在此过程中未初始化";-虽然调用了initializeApp()?_Android_Firebase_Xamarin - Fatal编程技术网

Android Xamarin,Firebase:“;默认FirebaseApp在此过程中未初始化";-虽然调用了initializeApp()?

Android Xamarin,Firebase:“;默认FirebaseApp在此过程中未初始化";-虽然调用了initializeApp()?,android,firebase,xamarin,Android,Firebase,Xamarin,我开始为这句话发疯了: Java.Lang.IllegalStateException:默认FirebaseApp未在此过程中初始化com.talkaoutTV.talkaoutTV。确保首先调用FirebaseApp.initializeApp(上下文) 我不知道是什么原因造成的。我正在调用FirebaseApp.IntApp(此),我的包名与。。。为什么它不起作用 protected override void OnActivityResult(int requestCode, [Gener

我开始为这句话发疯了:

Java.Lang.IllegalStateException:默认FirebaseApp未在此过程中初始化com.talkaoutTV.talkaoutTV。确保首先调用FirebaseApp.initializeApp(上下文)

我不知道是什么原因造成的。我正在调用FirebaseApp.IntApp(此),我的包名与。。。为什么它不起作用

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;
    }
}
activityresult上的受保护覆盖无效(int-requestCode,[GeneratedEnum]结果代码,意图数据)
{
base.OnActivityResult(请求代码、结果代码、数据);
}
创建时受保护的覆盖无效(捆绑包)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
firebase=新的firebase客户端(“21301099704”);
Firebase.FirebaseApp.InitializeApp(此);
FirebaseDatabase.Instance.GetReference(“chats”).AddValueEventListener(此);
fab=findviewbyd(Resource.Id.fab);
edtChat=findviewbyd(Resource.Id.input);
lstChat=findviewbyd(Resource.Id.list\u的消息);
工厂单击+=委托
{
PostMessage();
};
if(FirebaseAuth.Instance.CurrentUser==null)
StartActivityForResult(新的Android.Content.Intent(this,typeof(SignIn)),MyResultCode);
其他的
{
Toast.MakeText(这是“欢迎”+FirebaseAuth.Instance.CurrentUser.Email,ToastLength.Short).Show();
DisplayChatMessage();
}
}
私有异步void PostMessage()
{
var items=wait firebase.Child(“chats”).PostAsync(新消息内容(FirebaseAuth.Instance.CurrentUser.Email,edtChat.Text));
edtChat.Text=“”;
}
已取消的公共无效(DatabaseError错误)
{
}
公共无效OnDataChange(数据快照快照)
{
DisplayChatMessage();
}
私有异步void DisplayChatMessage()
{
lstMessage.Clear();
var items=等待firebase.Child(“聊天”)
.OnceAsync();
foreach(项目中的var项目)
lstMessage.Add(item.Object);
ListViewAdapter=新的ListViewAdapter(此,lstMessage);
lstChat.Adapter=适配器;
}
}

}尝试在应用程序类中初始化firebase(OnCreate方法)。
但是首先从项目控制台下载google-services.json文件,并确保它具有“GoogleServicesJson”值作为构建操作。

我正在开发一个新的应用程序,但我没有启用Internet权限。这解决了我的问题

您不需要再做的一件事是从
MainActivity.OnCreate()方法调用
FirebaseApp.initializeApp(This)
。如果您正在这样做,您可能应该删除该调用,因为它是不必要的,并且可能会导致下游的复杂情况

我试图删除
bin
obj
文件夹,我确保我的
google services.json
具有正确的
GoogleServicesJson
构建类型,并且在我的
fsproj
文件中正确地提取了构建类型(或者
csproj
,如果你仍然在使用C#)。然而,错误仍在发生


我做错的是我的包名有一个拼写错误。如果已经执行了上述所有步骤,请检查
google services.json
文件中的
package\u name
字段,并确保它与项目的包名完全对应。然后清理并重新构建您的项目。

如果上述各项都不适用于您。检查项目设置。在“AndroidManifest.xml”中添加或验证您是否具有以下内容。内部应用程序

Helo:)谢谢你的提示:我发现了问题,我不得不用记事本编辑csproj文件,并对其进行编辑,使其包含json文件。我有所有这些,也签入了csproj,但我仍然有问题:(这似乎为我解决了问题,但后来它回来了。请尝试删除bin和obj foldersUmmm。。。