Java 无法将数据发送到firestore
我有一个从csv获取的数据。当我烘烤csv中的所有数据时,数据看起来像是美南·阿纳克(Mainan Anak)、卡奥斯·波洛(Kaos Pollo)、塞帕图·拉里(Sepatu Lari)、卡奥斯·健身房(Kaos Gym)。问题是当我想将数据发送到firestore时,数据无法发送到firestore。我签入Logcat,没有出现任何错误 MyCSV: 代码:Java 无法将数据发送到firestore,java,android,google-cloud-firestore,Java,Android,Google Cloud Firestore,我有一个从csv获取的数据。当我烘烤csv中的所有数据时,数据看起来像是美南·阿纳克(Mainan Anak)、卡奥斯·波洛(Kaos Pollo)、塞帕图·拉里(Sepatu Lari)、卡奥斯·健身房(Kaos Gym)。问题是当我想将数据发送到firestore时,数据无法发送到firestore。我签入Logcat,没有出现任何错误 MyCSV: 代码: private void readCSVFile(String csvNameFile) { try { F
private void readCSVFile(String csvNameFile) {
try {
File readFolderCSV = new File(Environment.getExternalStorageDirectory() + "/Download/" + csvNameFile);
CSVReader csvReader = new CSVReader(new FileReader(readFolderCSV.getAbsoluteFile()));
String[] nextLine;
while ((nextLine = csvReader.readNext()) != null) {
final String UoMID = collectionReference.document().getId();
final ModelUoM modelUoM = new ModelUoM(UoMID, nextLine[0]);
modelUoM.setUoMID(UoMID);
modelUoM.setUoMName(nextLine[0]);
// Check if UoM is already exist
collectionReference.whereEqualTo("uoMName", nextLine[0]).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (DocumentSnapshot documentSnapshot : task.getResult()) {
if (documentSnapshot.exists()) {
Toast.makeText(MasterUoM.this, "UoM is already exist", Toast.LENGTH_SHORT).show();
progressAddUoM.dismiss();
} else {
// Cannot send data to firestore
collectionReference.document(UoMID).set(modelUoM).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Toast.makeText(MasterUoM.this, "UoM successfully added", Toast.LENGTH_SHORT).show();
progressAddUoM.dismiss();
dialogAddFile.dismiss();
finish();
overridePendingTransition(0, 0);
startActivity(getIntent());
overridePendingTransition(0, 0);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MasterUoM.this, "Error : " + e.getMessage(), Toast.LENGTH_SHORT).show();
progressAddUoM.dismiss();
}
});
}
}
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MasterUoM.this, "Error : " + e.getMessage(), Toast.LENGTH_SHORT).show();
progressAddUoM.dismiss();
}
});
}
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(MasterUoM.this, "The specified file was not found", Toast.LENGTH_SHORT).show();
progressAddUoM.dismiss();
}
}
private void readCSVFile(字符串csvNameFile){
试一试{
File readFolderCSV=新文件(Environment.getExternalStorageDirectory()+“/Download/”+csvNameFile);
CSVReader CSVReader=新的CSVReader(新的文件读取器(readFolderCSV.getAbsoluteFile());
字符串[]下一行;
而((nextLine=csvReader.readNext())!=null){
最终字符串UoMID=collectionReference.document().getId();
最终模型计量单位模型计量单位=新模型计量单位(计量单位,下一行[0]);
型号UOM.setUoMID(UoMID);
modelUoM.setUoMName(下一行[0]);
//检查计量单位是否已经存在
collectionReference.whereEqualTo(“uoMName”,下一行[0]).get().addOnCompleteListener(新的OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
对于(DocumentSnapshot DocumentSnapshot:task.getResult()){
if(documentSnapshot.exists()){
Toast.makeText(MasterUoM.this,“UoM已经存在”,Toast.LENGTH_SHORT.show();
progressAddUoM.disclose();
}否则{
//无法将数据发送到firestore
collectionReference.document(UoMID).set(modelUoM).addOnCompleteListener(新OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
Toast.makeText(MasterUoM.this,“UoM已成功添加”,Toast.LENGTH_SHORT.show();
progressAddUoM.disclose();
dialogAddFile.disclose();
完成();
覆盖转换(0,0);
startActivity(getIntent());
覆盖转换(0,0);
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(MasterUoM.this,“错误:+e.getMessage(),Toast.LENGTH_SHORT).show();
progressAddUoM.disclose();
}
});
}
}
}
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(MasterUoM.this,“错误:+e.getMessage(),Toast.LENGTH_SHORT).show();
progressAddUoM.disclose();
}
});
}
}捕获(例外e){
e、 printStackTrace();
Toast.makeText(MasterUoM.this,“未找到指定的文件”,Toast.LENGTH_SHORT.show();
progressAddUoM.disclose();
}
}
如图所示,如果将while CSV读取和解析替换为对Firestore的一次简单写入,那么写入是否有效?如果不是,那么问题与CSV解析无关,您可以大大简化问题(从而更有可能有人可以帮助或您自己发现问题)。看,你确定要遵守消防商店的规定吗?