728x90
반응형

1. 참조하는 위치가 더이상 분열되지 않고 끝자리라면

 

username까지 참조해서 "러아니푸"값 하나만을 직접 받아오기

 

 

구동시킬 자바.class

databaseReference.child("User").child(uid).child("username").addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        String value = dataSnapshot.getValue(String.class);
                        uname= value;

                    }

                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {
                        //Log.e("MainActivity", String.valueOf(databaseError.toException())); // 에러문 출력
                    }
                });

 

 

 

 

 

 

 

 

2. 참조되는 부분 아래로 값이 여러개 있는 경우

 

Together_group_list 아래의 그룹명인 한울을 참조하고있고, 한울 속에있는 속성 여러개를 받아오고 싶을때

 

구동시킬 자바.class

databaseReference.child("Together_group_list").child(Gname).addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                Together_group_list group = dataSnapshot.getValue(Together_group_list.class);
                
                //각각의 값 받아오기 get어쩌구 함수들은 Together_group_list.class에서 지정한것
                gintro = group.getGintro();
                goaltime = group.getGoaltime();
                gdate = group.getGoalday();
                
                //텍스트뷰에 받아온 문자열 대입하기
                goaltime_tv.setText(goaltime);
                gintro_tv.setText(gintro);
                gdate_tv.setText(gdate);
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                //Log.e("MainActivity", String.valueOf(databaseError.toException())); // 에러문 출력
            }
        });

 

Together_group_list.class

package com.example.together.Group;

public class Together_group_list {

    
    //변수 선언
    private String Gname; 
    private String Gintro; 
    private String Goaltime; 
    private String Goalday; 
    private String master;


    
    public Together_group_list(){}
   
   
   
   //여기서부터 get,set 함수를 사용하는데 이부분을 통해 값을 가져옴
    public String getGname() {
        return Gname;
    }

    public void setGname(String Gname) {
        this.Gname = Gname;
    }

    public String getGintro() {
        return Gintro;
    }

    public void setGintro(String Gintro) {
        this.Gintro = Gintro;
    }

    public String getGoaltime() {
        return Goaltime;
    }

    public void setGoaltime(String Goaltime) {
    	this.Goaltime = Goaltime;
    }

    public String getGoalday() {
        return Goalday;
    }

    public void setGoalday(String Goalday) {
        this.Goalday = Goalday;
    }

    public String getmaster() {
        return master;
    }

    public void setmaster(String userId) {
        this.master = master;
    }




    //이거는 그룹을 생성할때 사용하는 부분
    public Together_group_list(String Gname, String Gintro, int GCP, int GAP, String Goaltime, String Goalday, String master) {
        this.Gname = Gname;
        this.Gintro = Gintro;
        this.GCP = GCP;
        this.GAP = GAP;
        this.Goaltime = Goaltime;
        this.Goalday = Goalday;
        this.master = master;

    }



}

 

 

 

 

 

 

3. 정수형을 받아오고 싶은 경우

 

구동시킬 자바.class

databaseReference.child("Together_group_list").child(Gname).child("gap").addListenerForSingleValueEvent(new ValueEventListener() {
                        @Override
                        public void onDataChange(@NonNull DataSnapshot snapshot) {
                            int value = (int)snapshot.getValue(Integer.class);//저장된 값을 숫자로 받아오고
                            value +=1;//숫자를 1 증가시켜서
                            databaseReference.child("Together_group_list").child(Gname).child("gap").setValue(value);//저장
                        }

                        @Override
                        public void onCancelled(@NonNull DatabaseError databaseError) {
                            //Log.e("MainActivity", String.valueOf(databaseError.toException()));
                        }



                    });

 

저장된 값을 받아와서 1증가시키는 코드입니다.

 

파이어베이스는 json형태로 저장되기 때문에 int로 값을 저장했어도 받아올때는 int로 형변환을 해줘야합니다.

 

728x90
반응형

+ Recent posts