ich eine einfache POJO Klasse haben sich hier:Kann POJO nicht auf Firebase-Datenbank schreiben
@IgnoreExtraProperties
public class Poll {
private String Question;
private String Image_URL;
public Poll() {
}
public Poll(String Question, String Image_URL){
this.Question = Question;
this.Image_URL = Image_URL;
}
public String getQuestion() {
return Question;
}
public void setQuestion(String question) {
Question = question;
}
public String getImage_URL() {
return Image_URL;
}
public void setImage_URL(String image_URL) {
Image_URL = image_URL;
}
}
Ich versuche, Firebase über das folgende Verfahren zu schreiben und nichts ist überhaupt in der Firebase Datenbank geschieht, so dass es isn‘ t Schreiben oder Erkennen der Referenz. Es kann mit meiner Firebase/POJO-Mapping zu tun hat, aber ich kann die Ursache nicht ermitteln:
mSubmitPollCreation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// //TODO: Need to determine if this is proper epoch - i.e. does it account for time zones
// Calendar c = Calendar.getInstance();
// final String epochTime = String.valueOf(c.getTimeInMillis());
// mEpochRef = mBaseRef.child("Poll").child(epochTime);
//TODO: Need to check if poll requirements are added, i.e. Question, Answer, ......
//check if image has been loaded first
if (resultImageURL != null){
Map<String, Object> imageURL = new HashMap<String, Object>();
imageURL.put("Image_URL", resultImageURL);
// mEpochRef.updateChildren(imageURL);
} else {
Toast.makeText(getApplicationContext(),getResources().getString(R.string.no_image_selected),Toast.LENGTH_LONG).show();
return;
}
Poll poll = new Poll(mCreatePollQuestion.getText().toString(), resultImageURL);
mBaseRef = FirebaseDatabase.getInstance().getReference();
mBaseRef.child("Polls").push().setValue(poll);
}
Fehler beim Festlegen eines Werts werden häufig durch [Sicherheitsregeln] verursacht (https://firebase.google.com/docs/database/security/ Schnellstart). Fügen Sie einen 'CompletionListener' zu' setValue() 'hinzu. Beispielcode hier: http://stackoverflow.com/a/38229289/4815718 –
In Bezug auf Ihren Kommentar zum Ausführen auf einem Emulator: Die Emulator-Images liegen oft hinter der Veröffentlichung der neuen Versionen von Firebase/Play Services. Siehe diese Antwort: http://stackoverflow.com/a/41104004/4815718 –