마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

파이어베이스 데이터 읽어오기 질문드립니다..

0 추천

파이어베이스의 리얼타임 데이터베이스에서 값을 가져와 출력하는 걸 하고 있습니다..

아래와 같이 코드를 작성했는데 

Memo값은 받아오는데 UserNickName값을 받아오지 못하고 앱이 종료가 됩니다..

 

Memo는 단순한 텍스트이고, 

UserNickName의 경로에는 .child(auth.getCurrentUser().getDisplayName()) 값이 들어있어서 그런것 같은데

UserNickName의 값을 받아오려면 어떻게 해야하나요?

 

public class RealtimeDatabase extends AppCompatActivity {

        TextView textView1 , textView2;
   //   Button button2 , button3;
        FirebaseAuth auth;

        DatabaseReference mRootRef = FirebaseDatabase.getInstance().getReference();
        DatabaseReference mMemo = mRootRef.child("Memo");
        DatabaseReference mNickName = mRootRef.child("Users").child(auth.getCurrentUser().getDisplayName()).child("UserNickName");



        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_realtime_database);

            textView1 = findViewById(R.id.textView1);
            textView2 = findViewById(R.id.textView2);
   //       button2 = findViewById(R.id.button2);
   //       button3 = findViewById(R.id.button3);
        }

        @Override
        protected void onStart() {
            super.onStart();

            mMemo.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    String text = dataSnapshot.getValue(String.class);
                    textView1.setText(text);
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });

            mNickName.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    String text = dataSnapshot.getValue(String.class);
                    textView2.setText(text);
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });
        }
}

 

애니타임 (550 포인트) 님이 2017년 12월 20일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...