我最近开始使用Firestore进行开发,但是我使用的附加方法存在以下问题。
public void PopulateList() {
_db = FirebaseFirestore.getInstance();
if (new Networks( _activity ).verficaConexion()){
storeRoomArrayList = new ArrayList <>();
_db.collection( Colections.StoreRoom.NOMBRECOLECCION )
.get()
.addOnCompleteListener( new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task <QuerySnapshot> task) {
if (task.isSuccessful()){
for (QueryDocumentSnapshot document : task.getResult()) {
String claveRepuesto = document.getData().get( Colections.StoreRoom.CLAVEREPUESTO ).toString();
String descripcion = document.getData().get( Colections.StoreRoom.DESCRIPCION ).toString();
String familia = document.getData().get( Colections.StoreRoom.FAMILIA ).toString();
String idFamilia = document.getData().get( Colections.StoreRoom.IDFAMILIA ).toString();
String idSubFamilia = document.getData().get( Colections.StoreRoom.IDSUBFAMILIA ).toString();
String interno = document.getData().get( Colections.StoreRoom.INTERNO ).toString();
String marca = document.getData().get( Colections.StoreRoom.MARCA ).toString();
String nroParte = document.getData().get( Colections.StoreRoom.NUMERODEPARTE ).toString();
String nroSerie = document.getData().get( Colections.StoreRoom.NUMERODESERIE ).toString();
String subFamilia = document.getData().get( Colections.StoreRoom.SUBFAMILIA ).toString();
String uniMedida = document.getData().get( Colections.StoreRoom.UMEDIDA ).toString();
storeRoomArrayList.add( new StoreRoom( claveRepuesto, descripcion,
familia, idFamilia, idSubFamilia, interno, marca, nroParte,
nroSerie, subFamilia, uniMedida ) );
}
InitRecyclerView(storeRoomArrayList);
} else{
Log.d("CargoListaStoreRoom", "Error getting documents: ", task.getException());
}
}
});
}else{
Snackbar.make( this._progressBar, "Error Conexion", Snackbar.LENGTH_LONG ).show();
}
}
我不知道为什么在“ .get.addOnCompleteListener”行中没有输入“ onComplete”就退出方法。 这种方法不是我唯一的方法。我有另一个类似这样的例程,但是一切正常。
我遇到麻烦的Firestore集合:
这是渗透规则
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth.uid != null;
}
}
}
这是StoreRoom类。
package Models.Pojo;
public class StoreRoom {
private String _idRepuesto;
private String _idFamilia;
private String _familia;
private String _idSubFamilia;
private String _interno;
private String _claveRepuesto;
private String _descripcion;
private String _marca;
private String _unidadMedida;
private String _nroParte;
private String _nroSerie;
public String get_idRepuesto() { return _idRepuesto; }
public void set_idRepuesto(String _idRepuesto) { this._idRepuesto = _idRepuesto; }
public String get_idFamilia() { return _idFamilia; }
public void set_idFamilia(String _idFamilia) { this._idFamilia = _idFamilia; }
public String get_familia() { return _familia; }
public void set_familia(String _familia) { this._familia = _familia; }
public String get_idSubFamilia() { return _idSubFamilia; }
public void set_idSubFamilia(String _idSubFamilia) { this._idSubFamilia = _idSubFamilia; }
public String get_interno() { return _interno; }
public void set_interno(String _interno) { this._interno = _interno; }
public String get_claveRepuesto() { return _claveRepuesto; }
public void set_claveRepuesto(String _claveRepuesto) { this._claveRepuesto = _claveRepuesto;}
public String get_descripcion() { return _descripcion; }
public void set_descripcion(String _descripcion) { this._descripcion = _descripcion; }
public String get_marca() { return _marca;}
public void set_marca(String _marca) {this._marca = _marca; }
public String get_unidadMedida() { return _unidadMedida; }
public void set_unidadMedida(String _unidadMedida) { this._unidadMedida = _unidadMedida; }
public String get_nroParte() { return _nroParte; }
public void set_nroParte(String _nroParte) {this._nroParte = _nroParte; }
public String get_nroSerie() { return _nroSerie; }
public void set_nroSerie(String _nroSerie) { this._nroSerie = _nroSerie; }
public StoreRoom(String _idRepuesto, String _idFamilia, String _familia, String _idSubFamilia,
String _interno, String _claveRepuesto, String _descripcion, String _marca,
String _unidadMedida, String _nroParte, String _nroSerie) {
this._idRepuesto = _idRepuesto;
this._idFamilia = _idFamilia;
this._familia = _familia;
this._idSubFamilia = _idSubFamilia;
this._interno = _interno;
this._claveRepuesto = _claveRepuesto;
this._descripcion = _descripcion;
this._marca = _marca;
this._unidadMedida = _unidadMedida;
this._nroParte = _nroParte;
this._nroSerie = _nroSerie;
}
}
答案 0 :(得分:1)
好的,我可以解决问题。
public static class StoreRoom{
public static String NOMBRECOLECCION = "Repuestos";
public static String IDREPUESTO = "IdRepuesto";
public static String IDFAMILIA = "IdFamilia";
public static String FAMILIA = "Familia";
public static String IDSUBFAMILIA = "IdSubFamlia";
public static String SUBFAMILIA = "SubFamilia";
public static String INTERNO = "Interno";
public static String CLAVEREPUESTO = "ClaveRepuesto";
public static String DESCRIPCION = "Descripcion";
public static String MARCA = "Marca";
public static String UMEDIDA = "UnidadMedida";
public static String NUMERODEPARTE = "NroParte";
public static String NUMERODESERIE = "NroSerie";
}
在Colection Im的定义中丢失了一封信。 我写了 public static String IDSUBFAMILIA =“ IdSubFamlia”; ,正确的是 public static String IDSUBFAMILIA =“ IdSubFam i lia” ;
当我用您要我做的事情更新帖子时,我才看到它。 我让你输的时间让我感到难过。我为此表示歉意。
非常感谢