android - android如何将字节[]数据添加到云Firestore数据库
问题描述
我尝试将本地数据库的数据上传到 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);
我看过文档,Bytes是 Cloud Firestore 支持的数据类型之一,那么它有什么问题。有人可以帮我吗?谢谢!
解决方案
要在 Android 上编写字节数组类型字段,请使用Blob.fromBytes()将字节数组转换为 Blob 对象,然后将 Blob 对象提供给update()
或set()
。
推荐阅读
- java - java codebreaker - 循环不会结束
- azure - 如何刷新 Azure AD B2C 身份令牌
- node.js - Mongoose 填充返回空数组
- kubernetes - 在 helm 部署期间,Kubernetes helm 在杀死旧 pod 之前等待
- angular - nrwl/nx 8.8.0 的 license-webpack-plugin 错误
- javascript - Chai post请求类型表格
- json - 在 MariaDB 触发器中使用 JSON_EXTRACT
- selenium - 如何在 Selenium 中为 Internet Explorer 设置首选语言?
- python - 在循环内增加范围的上限不会让它永远运行
- haskell - Haskell函数组合和绑定之间的区别