gpt4 book ai didi

java - 如何根据条件从firebase数据库中获取图像url并将其加载到ImageView中?

转载 作者:行者123 更新时间:2023-12-01 19:15:42 25 4
gpt4 key购买 nike

我是 Android 新手,遇到以下问题 -

My Firebase Database

在 JSON 中:

{ "-LwDpiyCDf8tsjTfTF3Q" : { "productImage" : "https://firebasestorage.googleapis.com/v0/b/bookmybook-13560.appspot.com/o/bmbuploads%2F1576501910798.jpg?alt=media&token=a431aec5-0994-4acf-b597-e31b87775ac8", "productName" : "image" }, "-LwDsEXofrJaz9SAjPi4" : { "productImage" : "https://firebasestorage.googleapis.com/v0/b/bookmybook-13560.appspot.com/o/bmbuploads%2F1576502569064.jpg?alt=media&token=573bcfc0-d29e-4e8c-9076-af2868c1c7a5", "productName" : "mgj" } }

我的代码中有产品名称,我想通过将产品名称作为 WHERE 条件传递来获取图像(即本例中的 ProductImage),最后将该图像加载到 ImageView 中。

我尝试使用以下代码:

Query query = databaseReference.child("bmbuploads").orderByChild("productName").equalTo("image");
query.addValueEventListener(new ValueEventListener() {

@Override
public void onDataChange(DataSnapshot dataSnapshot) {

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

我不知道我形成的查询是否正确。另外,即使经过大量搜索,我也无法弄清楚在 onDataChange() 方法中要编写什么代码。

请指导我。

最佳答案

要获取productImage属性的值,请使用以下代码行:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("bmbuploads").orderByChild("productName").equalTo("image");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String productImage = ds.child("productImage").getValue(String.class);
Log.d(TAG, productImage);
}
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
query.addListenerForSingleValueEvent(valueEventListener);

看,即使您想返回单个结果,也必须使用 getChildren() 方法循环访问 productImage 对象。该对象应包含对象列表。即使只有一个结果,您也需要迭代。

关于java - 如何根据条件从firebase数据库中获取图像url并将其加载到ImageView中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59422434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com