2016-12-05 102 views
0

好的,我对Firebase开发相当陌生,并且试图将数据插入到已连接到我的android studio项目的应用程序数据库中。无法在Firebase数据库中插入记录

E/AndroidRuntime: FATAL EXCEPTION: main 
         Process: com.xxx.xxxxx, PID: 13243 
         com.google.firebase.database.DatabaseException: Found conflicting getters for name: isChangingConfigurations 
          at com.google.android.gms.internal.zzbqi$zza.<init>(Unknown Source) 
          at com.google.android.gms.internal.zzbqi.zzi(Unknown Source) 
          at com.google.android.gms.internal.zzbqi.zzax(Unknown Source) 
          at com.google.android.gms.internal.zzbqi.zzaw(Unknown Source) 
          at com.google.firebase.database.DatabaseReference.zza(Unknown Source) 
          at com.google.firebase.database.DatabaseReference.setValue(Unknown Source) 
          at com.xxx.xxxxx.MainActivity$1.onClick(MainActivity.java:85) 
          at android.view.View.performClick(View.java:4780) 
          at android.view.View$PerformClick.run(View.java:19866) 
          at android.os.Handler.handleCallback(Handler.java:739) 
          at android.os.Handler.dispatchMessage(Handler.java:95) 
          at android.os.Looper.loop(Looper.java:135) 
          at android.app.ActivityThread.main(ActivityThread.java:5254) 
          at java.lang.reflect.Method.invoke(Native Method) 
          at java.lang.reflect.Method.invoke(Method.java:372) 
          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

而且,如果对又名行85个突发如下MainActivity代码行:不过,我点击一个按钮,添加文本到数据库之后得到这个堆栈跟踪

mDatabase.child("users").child(mUserId).child("items").push().child("title").setValue(new ChatMessage(input.getText().toString(), mFirebaseAuth.getCurrentUser().getDisplayName())); 

如果有人能想出一个很好和快速解决这个问题,将不胜感激。 Google Firebase团队来拯救!

编辑

在@弗兰克的要求,这是Java类ChatMessage的,我用我的setValue()内:

package com.xxx.xxxxx; 

import android.support.v7.app.AppCompatActivity; 
import com.google.firebase.database.IgnoreExtraProperties; 
import java.util.Date; 


/** 
* Created by sahir on 12/4/2016. 
*/ 
@IgnoreExtraProperties 
public class ChatMessage extends AppCompatActivity { 

    public String messageText; 
    public String messageUser; 
    public long messageTime; 

    public ChatMessage(){} 

    public ChatMessage(String messageText, String messageUser) { 
     this.messageText = messageText; 
     this.messageUser = messageUser; 

     // Initialize to current time 
     messageTime = new Date().getTime(); 
    } 

    public String getMessageText() { return messageText; } 
    public String getMessageUser() { return messageUser; } 
    public long getMessageTime() { return messageTime; } 


}//close ChatMessage 
+1

类似的堆栈跟踪所看到[这里](http://stackoverflow.com/q/40703001/4625829)。你有没有检查过它? –

+0

我认为这是相同的问题,作为@ AL陈述 –

+0

我同意这是同样的问题,但解决方案不适合我。 – Sahir

回答

0

我发现这个问题。我很愚蠢,在使java类(ChatMessage)独立于Java活动行为之后,删除以下导入。现在我可以毫无问题地将我的对象传递给setValue!

import android.support.v7.app.AppCompatActivity; 

没错这也必须去除:

extends AppCompatActivity