android - 如何从android中的firebase数据库中检索数据
问题描述
从 Firebase 检索图像不起作用?嗨,我正在从 Firebase 上传和检索图像。我已经成功地完成了上传部分,但是在为检索部分做的时候。我遇到了一个问题,我无法从 Firebase 获取图像。我正在使用毕加索版本:2.5.2
QuoteList.java
public class QuoteList extends AppCompatActivity {
private StorageReference storageRef;
private RecyclerView mRecyclerView;
private DatabaseReference mReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quote_list);
final LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mRecyclerView = findViewById(R.id.quotes_list);
mRecyclerView.setLayoutManager(layoutManager);
mReference = FirebaseDatabase.getInstance().getReference().child("Quotes");
}
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<Quote, QuoteViewHolder> firebaseRecyclerAdapter =
new FirebaseRecyclerAdapter<Quote, QuoteViewHolder>(
Quote.class,
R.layout.quote_row,
QuoteViewHolder.class,
mReference
) {
@Override
protected void populateViewHolder(QuoteViewHolder viewHolder , Quote model , int position) {
viewHolder.setQuotes(model.getQuotes());
viewHolder.setQuoteAuthor(model.getQuote_Author());
viewHolder.setImage(getApplicationContext(),model.getImages());
}
};
mRecyclerView.setAdapter(firebaseRecyclerAdapter);
}
public class QuoteViewHolder extends RecyclerView.ViewHolder{
View mView;
public QuoteViewHolder(View itemView) {
super(itemView);
mView = itemView;
}
public void setQuotes(String Quote){
TextView post_quote = (TextView) mView.findViewById(R.id.post_quote);
post_quote.setText(Quote);
}
public void setQuoteAuthor(String QuoteAuthor){
TextView post_quoteAuthor = (TextView) mView.findViewById(R.id.post_author);
post_quoteAuthor.setText(QuoteAuthor);
}
public void setImage(Context ctx, String image){
ImageView post_image = (ImageView) mView.findViewById(R.id.post_image);
Picasso.with(ctx).load(image).into(post_image);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
return super.onCreateOptionsMenu(menu);
}
}
作为参考,我使用了 Youtube链接。
解决方案
推荐阅读
- debugging - 如何调试 Firefox 扩展,它似乎无声无息地崩溃
- android - 已编译的 apk 正在尝试到达 metor 服务器反应本机
- php - 以 n 为单位分离和写入数据集的功能不起作用。尝试了 array_slice 和 for-loop
- java - 当用户单击 SearchView 和键盘打开时如何隐藏 FAB?
- docker - 如何在 Google Cloud 上 Ubuntu 机器的 Docker 容器中设置 Atlassian JIRA Core
- json - Flutter:如何“自动序列化为 JSON”IconData 对象?
- c# - 如果状态码不等于 200 则使用 Polly 重试 api 请求 OK
- html - 如何增加模态窗口的宽度
- pandas - 如何在不使用任何输入代码的情况下从文件中跳过行直到特定字符串?
- visual-studio - 如何获得原始的 One Dark Theme 字体?