android如何将byte []数据添加到云firestore数据库

时间:2019-03-21 13:21:52

标签: android database google-cloud-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);

我已阅读文档,字节是Cloud Firestore支持的数据类型之一,所以出了什么问题。有人可以帮我吗?谢谢!

1 个答案:

答案 0 :(得分:1)

要在Android上编写字节数组类型字段,请使用Blob.fromBytes()将字节数组转换为Blob对象,然后将Blob对象提供给update()set()