gpt4 book ai didi

android - 从 Firebase 存储中检索图像并在回收站 View 中显示

转载 作者:行者123 更新时间:2023-11-29 22:46:08 25 4
gpt4 key购买 nike

我已将图像上传到 firebase 存储并创建了两个单独的文件夹。图片已成功上传,但问题是检索这些图片。

我在网上搜索过,到处都是关于DatabaseReference 的教程,而不是 StorageReference。我想获取这些图像并显示在 RecyclerView 中。

用于上传的代码:

   StorageReference childRef = storageReference.child((String)spinner.getSelectedItem());


//uploading the image
UploadTask uploadTask = childRef.child(name).putFile(FilePathUri);

uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
progressDialog.dismiss();
etName.setText("");
selectedImage.setImageResource(R.drawable.ic_action_add_dark);
Snackbar.make(view, "Upload successful", Snackbar.LENGTH_SHORT).show();
}
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(@NonNull UploadTask.TaskSnapshot taskSnapshot) {

double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
progressDialog.setMessage("Uploaded " + ((int) progress) + "%...");

}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
progressDialog.dismiss();
Snackbar.make(view, "Upload failed", Snackbar.LENGTH_SHORT).show();
}
});
}

RecyclerView 适配器:

    public RCAdapter(Context context, List<DataModel> dataModels) {
this.dataModels = dataModels;
this.context = context;
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.layout_adapter, parent, false);
return new ViewHolder(v);
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
DataModel upload = dataModels.get(position);

Glide.with(context).load(upload.getUrl()).into(holder.imageView);
}

@Override
public int getItemCount() {
return dataModels.size();
}

class ViewHolder extends RecyclerView.ViewHolder {

ImageView imageView;

ViewHolder(View itemView) {
super(itemView);

imageView = itemView.findViewById(R.id.imageView);
}
}

最佳答案

创建了两个独立的文件夹。图片已成功上传,但问题是检索这些图片。

我在网上搜索过,到处都是关于 DatabaseReference 而不是 StorageReference 的教程。我想获取这些图像并显示在 RecyclerView 中。

用于上传的代码:

StorageReference childRef = storageReference.child((String)spinner.getSelectedItem());

        //uploading the image
UploadTask uploadTask = childRef.child(name).putFile(FilePathUri);

uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
progressDialog.dismiss();
etName.setText("");
selectedImage.setImageResource(R.drawable.ic_action_add_dark);
Snackbar.make(view, "Upload successful", Snackbar.LENGTH_SHORT).show();
}
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(@NonNull UploadTask.TaskSnapshot taskSnapshot) {

double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
progressDialog.setMessage("Uploaded " + ((int) progress) + "%...");

}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
progressDialog.dismiss();
Snackbar.make(view, "Upload failed", Snackbar.LENGTH_SHORT).show();
}
});

关于android - 从 Firebase 存储中检索图像并在回收站 View 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58438996/

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