Ich habe eine Datenbank, aus der ich einen bestimmten Knoten auswählen möchte. Zum Beispiel möchte ich in meinem Fall die Knoten auswählen, deren Benutzername "fatma" ist. Also, wie kann ich das in Android tun? Fehler beim Prellen auf den Typ
public class User {
public String Benutzername, E-Mail, Passwort, dateOfBirth, signUpDate;
public User(String username, String email, String password,String dateOfBirth,String signUpDate) {
this.username = username;
this.email = email;
this.password = password;
this.dateOfBirth=dateOfBirth;
this.signUpDate=signUpDate;
}
public User(){
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(String dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public String getSignUpDate() {
return signUpDate;
}
public void setSignUpDate(String signUpDate) {
this.signUpDate = signUpDate;
}
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", email='" + email + '\'' +
", password='" + password + '\'' +
", dateOfBirth='" + dateOfBirth + '\'' +
", signUpDate='" + signUpDate + '\'' +
'}';
}
}
Firebase.setAndroidContext(getApplicationContext());
final Firebase ref = new Firebase("https://app.firebaseio.com/");
/* String username,password;
username=txtUsername.getText().toString();
password=txtPassword.getText().toString();
User authentificatedUser=new User(username,password,null,null,null);
ConnectTask connectTask=new ConnectTask(authentificatedUser);
txtUsername.setText(connectTask.getTest());*/
Query query = ref.orderByChild("username").equalTo("testme");
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
txtUsername.setText(user.getUsername());
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
06-15 13: 50: 59,067 7510-7510/com.sifast.appsocle E/Android Runtime: fatal EXCEPTION: main Prozess: com.sifast.appsocle, PID : 7510 com.firebase.client.FirebaseException: Fehler beim Schreiben auf bei com.firebase.client.DataSnapshot.getValue (DataSnapshot.java:183) unter com.sifast.appsocle.Login $ 2 $ 1.onDataChange (Login. Java: 71) bei com.f irebase.client.Query $ 1.onDataChange (Query.java:158) bei com.firebase.client.core.ValueEventRegistration.fireEvent (ValueEventRegistration.java:45) bei com.firebase.client.core.view.DataEvent.fire (DataEvent.java:45) bei com.firebase.client.core.view.EventRaiser $ 1.run (EventRaiser.java:38) bei android.os.Handler.handleCallback (Handler.java:739) bei Android. os.Handler.dispatchMessage (Handler.java:95) bei android.os.Looper.loop (Looper.java:148) bei android.app.ActivityThread.main (ActivityThread.java:5417) bei java.lang. reflect.Method.invoke (native Methode) bei com.andr oid.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) Verursacht von: com.fasterxml.jackson.databind. exc.UnrecognizedPropertyException: Unbekanntes Feld "-KKJOx4bBAgpJ3UPD-0a" (Klasse com.sifast.appsocle.user.User), nicht als ignorierbar gekennzeichnet (5 bekannte Eigenschaften:, "signUpDate", "Benutzername", "dateOfBirth", "password" , "email"]) um [Quelle: [email protected]; Zeile: 1, Spalte: 26] (über die Referenzkette: com.sifast.appsocle.user.User ["- KKJOx4bBAgpJ3UPD-0a"]) unter com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty (DeserializationContext.java:555) bei com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty (StdDeserializer.java:708) bei com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty (BeanDeserializerBase.java:1160) bei com .fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject (BeanDeserializer.java:315) bei com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize (BeanDeserializer.java:121) bei com.fasterxml.jackson.databind .ObjectMapper._readMapAndClose (Obj ectMapper.java:2888) bei com.fasterxml.jackson.databind.ObjectMapper.readValue (ObjectMapper.java:2034) bei com.firebase.client.DataSnapshot.getValue (DataSnapshot.java:181) bei com.sifast. appsocle.Login $ 2 $ 1.onDataChange (Login.java:71) unter com.firebase.client.Query $ 1.onDataChange (Query.java:158) unter com.firebase.client.core.ValueEventRegistration.fireEvent (ValueEventRegistration.java : 45) bei com.firebase.client.core.view.DataEvent.Feuer (DataEvent.java:45) bei com.firebase.client.core.view.EventRaiser $ 1.run (EventRaiser.java:38) bei android.os.Handler.handleCallback (Handler.java:739) bei Android .os.Handler.dispatchMessage (Handler.java:95) bei android.os.Looper.loop (Looper.java:148) bei android.app.ActivityThread.main (ActivityThread.java:5417) bei java.lang .reflect.Method.invoke (Native Methode) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java: 616)
Der komplette logcat Fehler würde sehr nützlich sein, aber ich kann sagen, dass 'zu Baumuster zur abprallen kann nicht bedeutet, dass ein Feldtyp in der Datenbank doesn‘ t passen Sie den entsprechenden Variablentyp in Ihrem Objekt – Sunshinator
PID: 7510 com.firebase.client.FirebaseException: Konnte nicht auf Typ bei com.firebase.client.DataSnapshot.getValue (DataSnapshot.java:183) at com.sifast .appsocle.Login $ 2 $ 1.onDataChange (Login.java:71) – fatma19
Ich würde alles brauchen. Sie können Ihre Frage bearbeiten, um sie hinzuzufügen. – Sunshinator