내가 그렇게함으로써 현재 사용자의 정보를 얻기 위해 시도하고있어 작동하지 :가져 오는 데이터는 안드로이드 제대로
Constants.USER_REF.orderByChild("email").equalTo(email).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists() && dataSnapshot != null) {
// User exists at this point, store it as currentUser variable.
User currentUser = dataSnapshot.getValue(User.class);
Log.i("THE_SNAPSHOT_AS_STRING:::", dataSnapshot.toString());
// GETTING THE ERROR ON THE LINE BELOW!
Log.i("THE_USERS_EMAIL:::", currentUser.getEmail());
} else {
// User does not exist at this point.
Toast.makeText(TourContactActivity.this, "No user exists.", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
나는 또한 콘솔 로그에 인쇄 된 다음 얻을, 그래서 그것을 당기는 것을 알고 적절한 사용자.
07-13 15:16:18.391 32277-32277/thepassapp.thompson.com.tomstours I/THE_SNAPSHOT_AS_STRING:::: DataSnapshot { key = users, value = {00845752-985f-4779-8eff-0c1e6a016ad8={tour_director_key=70af128e-777b-4c12-86f6-2952dbdc9185, last_name=River, [email protected], location_latitude=42.4305, tour_id=n1337e, photo=http://chopu.herokuapp.com/parse/files/2enxs2j21mz9/7304a8917568d366a8ec43f5ab88ac6b_user.jpg, tour_director_name=Chuck Thoms, middle_name=, location_longitude=-73.5103, passenger_id=mcu79, location_updated=1468360656387, tour_director=f9e3z, first_name=Gene, provider=password}} }
은 여기 내 User.class
@JsonIgnoreProperties(ignoreUnknown=true)
public class User {
private String uid;
private String email;
private String first_name;
private String last_name;
public User() {
// empty default constructor, necessary for Firebase to be able to deserialize users
}
public User(String uid, String first_name, String last_name, String email) {
this.uid = uid;
this.first_name = first_name;
this.last_name = last_name;
this.email = email;
}
public String getEmail() {
return email;
}
public String getFirstName() {
return first_name;
}
public String getLastName() {
return last_name;
}
@Override
public String toString() {
return "User{uid='"+uid+"', email='"+email+"', first_name='"+first_name+"', last_name='"+last_name+"\'}";
}
}
내 문제가 실제로 사용자 클래스에서이 데이터를 검색입니다. 문서를 따라했지만 오류가 계속 발생합니다.
FATAL EXCEPTION: main
Process: passengerapp.veriguide.com.veriguidetours, PID: 32277
java.lang.NullPointerException: println needs a message
내가 잘못하고있는 것에 대한 아이디어가 있습니까? 참고 : 나는 오류를 얻고있는 줄을 주석 처리했다.
는'가령 getMail()가'null을 반환처럼 보이는, 당신이 당신의 데이터베이스 구조를 공유 할 수 있습니까? – Bill
내 Log.i에서 볼 수 있듯이 올바른 사용자 데이터를 출력하고 전자 메일이 포함되어 있습니다. – Jamie22
User 클래스는 데이터베이스 구조를 유지하기 위해 작성한 것입니다. – Jamie22