如何从 Datasnapshot 获取图像的 URI
how to get URI of an image from Datasnapshot
我正在制作一个应用程序,我可以在其中将图像上传到 firebase,然后检索它们并在 viewpager 中查看它们。
这些图像有一个名称和一个 url。
除此之外,我希望能够在文本框中写入图像的名称并在图像视图中显示相应的图像。
这是我正在使用的代码:
private void findImage(){
final Query query = mDatabaseRef.orderByChild("name").equalTo(EditTextName.getText().toString());
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
for (DataSnapshot NamedImage : dataSnapshot.getChildren()) {
//i have tried this first but i don't know what method i should use to get the URI from the datasnapshot.
image.setImageURI(NamedImage.getValue());
//then i have tried this but i can't use "context" here, nor can i apply .getImageUrl to the datasnapshot.
Glide.with(context).load(NamedImage.getImageUrl()).into(image);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
我是 android studio 和 java 的新手,在开始这个应用程序之前我还没有研究过它。
请问我应该怎么做?
我找到了问题的解决方案:
private void findImage(){
final Query query = mDatabaseRef.orderByChild("name").equalTo(EditTextName.getText().toString());
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
for (DataSnapshot NamedImage : dataSnapshot.getChildren()) {
SliderUtils sliderUtils = NamedImage.getValue(SliderUtils.class);
Glide.with(getApplicationContext()).load(sliderUtils.getImageUrl()).into(image);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
我正在制作一个应用程序,我可以在其中将图像上传到 firebase,然后检索它们并在 viewpager 中查看它们。 这些图像有一个名称和一个 url。 除此之外,我希望能够在文本框中写入图像的名称并在图像视图中显示相应的图像。
这是我正在使用的代码:
private void findImage(){
final Query query = mDatabaseRef.orderByChild("name").equalTo(EditTextName.getText().toString());
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
for (DataSnapshot NamedImage : dataSnapshot.getChildren()) {
//i have tried this first but i don't know what method i should use to get the URI from the datasnapshot.
image.setImageURI(NamedImage.getValue());
//then i have tried this but i can't use "context" here, nor can i apply .getImageUrl to the datasnapshot.
Glide.with(context).load(NamedImage.getImageUrl()).into(image);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
我是 android studio 和 java 的新手,在开始这个应用程序之前我还没有研究过它。 请问我应该怎么做?
我找到了问题的解决方案:
private void findImage(){
final Query query = mDatabaseRef.orderByChild("name").equalTo(EditTextName.getText().toString());
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
for (DataSnapshot NamedImage : dataSnapshot.getChildren()) {
SliderUtils sliderUtils = NamedImage.getValue(SliderUtils.class);
Glide.with(getApplicationContext()).load(sliderUtils.getImageUrl()).into(image);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}