2017-10-11 2 views
0

프로젝트를 표시 할 수있는 개체를 만들기 위해 데이터를 읽으 려합니다. 어떻게 firebase에서 안드로이드로 데이터를 복구합니까?

database

이 부분에서
public class Curp{ 

    public String curpGen, Nombre, ApPat, apMat, sexo, estado, fecha; 

    public Curp(String curpGen,String Nombre,String ApPat,String apMat,String fecha,String sexo,String estado){ 
    this.curpGen=curpGen; 
    this.Nombre=Nombre; 
    this.ApPat=ApPat; 
    this.apMat=apMat; 
    this.fecha=fecha; 
    this.sexo=sexo; 
    this.estado=estado; 
    } 

} 

, 나는 데이터를 읽고 객체 curp를 만들 저장하는 방법이있다.

데이터가있는 Curp 개체를 만드는 방법을 알고 싶습니다. 33 :

database.addChildEventListener(new ChildEventListener() { 
     @Override 
     public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
      String curpGen=dataSnapshot.getValue(Curp.class).curpGen.toString(); 
      String nombre=dataSnapshot.getValue(Curp.class).Nombre.toString(); 
      String ApPat=dataSnapshot.getValue(Curp.class).ApPat.toString(); 
      String ApMat=dataSnapshot.getValue(Curp.class).apMat.toString(); 
      String Fecha=dataSnapshot.getValue(Curp.class).fecha.toString(); 
      String sexo=dataSnapshot.getValue(Curp.class).sexo.toString(); 
      String edo=dataSnapshot.getValue(Curp.class).estado.toString(); 

      Curp value=new Curp(curpGen,nombre,ApPat,ApMat,Fecha,sexo,edo); 
      lista.add(value); 
      cupadapter=new CurpAdapter(lista); 
      reciclador.setAdapter(cupadapter); 
     } 
} 

22 01.533 13269-13269/com.example.montero.softtimcurpmontero E/RecyclerView 없음 어댑터가 연결되지; 레이아웃 건너 뛰기 10-10

22 : 33 : 01.763 13269-13269/com.example.montero.softtimcurpmontero E/RecyclerView : 어댑터가 연결되지 않았습니다. 33 : 레이아웃 10-10를 건너 뛰는

(22) 01.953 13269-13269/com.example.montero.softtimcurpmontero E/AndroidRuntime : 치명적인 예외 : 주요 프로세스 : com.example.montero.softtimcurpmontero, PID : 13269 닷컴 .google.firebase.database.DatabaseException은 : 클래스 com.example.montero.softtimcurpmontero.Curp 당신은 그 생성자를 사용할 필요가 없습니다 인수

+0

데이터 복구/검색. 어느 부분에 어려움이 있습니까? –

+0

정보를 복구하고 개체 Curp를 작성하지만 두 번째 코드가 작동하지 않으면 코드가 실패합니다 – Montero

+0

응용 프로그램이 충돌하면 logcat에 오류 및 스택 추적이 있어야합니다. 해당 정보를 포함하도록 질문을 편집하십시오. –

답변

1

와 생성자가 없습니다. 변수 이름이 firebase 노드 값과 같으면 변수에 값을 할당 할 수 있습니다. 이 시도 :

database.limitToLast(1).addChildEventListener(new ChildEventListener() { 
       @Override 
       public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
        Curp value=dataSnapshot.getValue(Curp.class); 
        //Use this object 
       } 
      }); 
+0

Curp에서 값 = dataSnapshot.get 값 (Curp.class) com.example.montero.softtimcurpmontero.MainActivity $ 1.onChildAdded (MainActivity.java:48) – Montero

+0

매개 변수가없는 생성자가 없습니다. – Montero

+0

내 대답이 도움이된다면, 제발 upvote. 나는 당신의 첫 번째 질문에 대답했다. –

1

내가 MainActivity 클래스 Curp에 Curp 값을 빈 condtructor를 구축했다해야 할 유일한 것은

database.addChildEventListener(new ChildEventListener() { 
     @Override 
     public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
      Curp value=new Curp(); 
      value=dataSnapshot.getValue(Curp.class); 
      lista.add(value); 
      cupadapter=new CurpAdapter(lista); 
      reciclador.setAdapter(cupadapter); 
     } 

}

이미 기본에 대한이처럼 보이는
관련 문제