【发布时间】:2018-04-12 18:37:38
【问题描述】:
我正在尝试使用 Firebase 数据库,但我得到了那个异常(在标题中)。首先,我在 onDataChange:Map map = dataSnapshot.getValue(Map.class);
下写道,但后来他们要求我使用 generictypeindicator,我照做了。但是,我现在得到了这个新异常。我该如何解决这个问题?
//accessing the firebase database
database=FirebaseDatabase.getInstance();
//creates a database references
databaseRef1=database.getReference().child("Ben_Ptolemy");
databaseRef2=database.getReference().child("Ptolemy_Ben");
sendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String messageText = messageArea.getText().toString();
if(!messageText.equals("")){
Map<String, String> map = new HashMap<String, String>();
map.put("message", messageText);
map.put("user", "Ben");
databaseRef1.push().setValue(map);
databaseRef2.push().setValue(map);
messageArea.setText("");
}
}
});
databaseRef1.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("firebase received", "true");
GenericTypeIndicator<Map<String, String>> genericTypeIndicator = new GenericTypeIndicator<Map<String, String>>() {};
Map<String, String> map = dataSnapshot.getValue(genericTypeIndicator );
String message = map.get("message").toString();
String userName = map.get("user").toString();
if(userName.equals("Ben")){
addMessageBox("You:-\n" + message, 1);
}
else{
addMessageBox("Ptolemy" + ":-\n" + message, 2);
}
}
【问题讨论】:
-
发布您的 Firebase 数据,以便我们找出您的映射
-
哪些 Firebase 数据?控制台?
-
您附加监听器的数据库数据...
-
还要发布 databaseRef1 正在监听的位置
-
database=FirebaseDatabase.getInstance(); databaseRef1=database.getReference().child("Ben_Ptolemy"); databaseRef2=database.getReference().child("Ptolemy_Ben");
标签: android firebase firebase-realtime-database