我尝试将本地数据库的数据上传到Cloud Firestore数据库,并且一个字段的数据类型为byte []。不可能是成功或失败。
Map<String, Object> setDetail = new HashMap<>();
j = cursor.getColumnIndex("sound");
byte[] sound = cursor.getBlob(j);
setDetail.put("sound", sound);
dbFire.collection("SetDetails").document(strWordID).set(setDetail)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
调试器跳过此行 dbFire.collection(“ SetDetails”)。document(strWordID).set(setDetail)
然后跳到 zzj.class
的最后一行final class zzj implements Runnable {
zzj(zzi var1, Task var2) {
this.zzm = var1;
this.zzg = var2;
}
public final void run() {
synchronized(zzi.zza(this.zzm)) {
if (zzi.zzb(this.zzm) != null) {
zzi.zzb(this.zzm).onComplete(this.zzg);
}
}
}
}
如果我继续运行,它将跳至 Looper.java
的这一行 final int thresholdOverride =
SystemProperties.getInt("log.looper."
+ Process.myUid() + "."
+ Thread.currentThread().getName()
+ ".slow", 0);
我已阅读文档,字节是Cloud Firestore支持的数据类型之一,所以出了什么问题。有人可以帮我吗?谢谢!
答案 0 :(得分:1)
要在Android上编写字节数组类型字段,请使用Blob.fromBytes()将字节数组转换为Blob对象,然后将Blob对象提供给update()
或set()
。