我想读取数据,构建一个可以为我的项目显示的对象。
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
。
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:33:01.533 13269-13269 / com.example.montero.softtimcurpmontero E / RecyclerView:没有连接适配器;跳过布局10-10
22:33:01.763 13269-13269 / com.example.montero.softtimcurpmontero E / RecyclerView:没有连接适配器;跳过布局10-10
22:33:01.953 13269-13269 / com.example.montero.softtimcurpmontero E / AndroidRuntime:致命异常:主要 处理:com.example.montero.softtimcurpmontero,PID:13269 com.google.firebase.database.DatabaseException:类com.example.montero.softtimcurpmontero.Curp缺少一个没有参数的构造函数
答案 0 :(得分: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
}
});
答案 1 :(得分:1)
我唯一需要的是在类Curp中为MainActivity中的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);
}
}