2016-07-04 2 views
3

firebase에서 null 포인터 예외가 발생합니다. 데이터베이스 참조가 제공하는 것과 같은 값이 없다는 것을 알고 있지만 그 값이 생성되면 자동으로 표시됩니다. 그냥 ... Firebase null 포인터 예외

이 제발 도와주세요 ..... 그 하나의 값마다 그것이 중포 기지에 생성하지만이 = 나에게 줄 문자열 발에 널 포인터 예외를주고있다을하고 싶어

final DatabaseReference dtt = database.getReference("/trial/trials/"); 
    dtt.addValueEventListener(new ValueEventListener() { 

     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      String val= dataSnapshot.child("myvalue").getValue().toString(); 
      if(val!=null) 
      { 
       Log.e("not null------","---------------"); 
      }else 
      { 
       Log.e("null------","---------------"); 
      } 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 

도와주세요 ..... 제발 ..

+0

그냥 추측처럼, 해시 맵에 dataSnapshot을 변환 할 수있는 경우

String val= dataSnapshot.child("myvalue").getValue(String.class); 

가 확인하는 것하지만, 'dataSnapshot.child ("myvalue")는 아마도 범인입니다 ... – bwegs

+0

Yaa는 내가 널 포인터 예외를 얻을 수 없다는 것을 제게 제안 할 수 있습니까 –

+0

나는 아이를 제거하고 직접 참조에 넣으려고 시도했습니다 아직도 오류가 발생합니다 .. –

답변

1

잘못된 값으로 getValue()를 사용하고 있습니다. 값이 우리가 여기서 떨어져 갈 많은 정보를 가지고 있지 않기 때문에이

HashMap<String, Object> hashmap = (HashMap) dataSnapshot.getValue(); 
String val= hashmap.get("myvalue"); 
3
final DatabaseReference dtt = database.getReference("/trial/trials/"); 
dtt.addValueEventListener(new ValueEventListener() { 

    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     String val= dataSnapshot.child("myvalue").getValue(String.class); 
     if(val!=null) 
     { 
      Log.e("not null------","---------------"); 
     }else 
     { 
      Log.e("null------","---------------"); 
     } 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 

    } 
});