已关闭,该问题需要details or clarity,目前不接受回答。
**想要改进此问题?**通过editing this post添加详细信息并澄清问题。
昨天关门了。
Improve this question
我有一个实时数据库,有一个组代码的值。我希望代码将像一个自己的firebase,包括图像的位图,类似的东西:
,
我该怎么做?
我试着去做:
databaseReference.child("CODES").child(groupCode).child(bitMapToString(mBitmap)).setValue(mBitmap);
和
databaseReference.child("CODES").child(groupCode).setValue(mBitmap);
但都不管用
{
String groupCode=this.getArguments().getString("groupNum");
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK)
{
Uri chosenImageUri = data.getData();
Bitmap mBitmap = null;
try {
mBitmap = MediaStore.Images.Media.getBitmap(requireActivity().getContentResolver(), chosenImageUri);
Map<String, Object> codes = new HashMap<>();
codes.put(bitMapToString(mBitmap), true);
DatabaseReference db=FirebaseDatabase.getInstance().getReference();
DatabaseReference groupCodeRef = db.child("CODES").child(groupCode);
groupCodeRef.setValue(codes);
这是我的代码,它就是不起作用。如果我从Map中删除部分,直到最后它才起作用,所以问题在于插入
这是bitMapToString:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] b = baos.toByteArray();
String temp = Base64.encodeToString(b, Base64.DEFAULT);
return temp;
}
1条答案
按热度按时间hc2pp10m1#
如果你想在
41947781
节点下存储多个值,那么你必须在它的正下方添加键值对。要使用Java实现这一点,请检查下面的代码:我还建议您为setValue()操作附加一个侦听器,以查看是否出现错误。
上面的代码将创建一个结构,看起来像这样:
的确,我们可以将代码添加到数组中,而不是Map中,但我建议您阅读以下资源: