【发布时间】:2020-06-13 22:56:54
【问题描述】:
我正在制作一个在线学习管理系统应用程序。我已经为课程创建了一个表格,并且讲座幻灯片就在那个表格中。管理员可以将讲座幻灯片上传到数据库,用户应该可以通过 LessonsActivity 下载它们。当管理员上传演讲幻灯片时,文件被保存在 FirebaseStorage 中,文件位置(文件路径)被保存在数据库的课程表中。我想让用户进入他们喜欢的任何主题,并使用我在该活动的布局文件中分配的按钮下载课程(使用保存在数据库中的文件路径。不使用 FirebaseStorage参考)。
我观看了一个视频并尝试使用 DownloadManager 功能,但它只显示直接从 FirebaseStorage 下载文件。
protected void onStart() {
super.onStart();
FirebaseRecyclerOptions<Lessons> options =
new FirebaseRecyclerOptions.Builder<Lessons>()
.setQuery(LessonsRef.orderByChild("subject_id").equalTo(subject_id), Lessons.class)
.build();
FirebaseRecyclerAdapter<Lessons, LessonsViewHolder> adapter =
new FirebaseRecyclerAdapter<Lessons, LessonsViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull LessonsViewHolder holder, int position, @NonNull final Lessons model)
{
holder.lname.setText(model.getName());
downloadBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//download();
}
});
}
@NonNull
@Override
public LessonsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType)
{
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.lessons_layout, parent, false);
LessonsViewHolder holder = new LessonsViewHolder(view);
return holder;
}
};
recyclerView.setAdapter(adapter);
adapter.startListening();
GridLayoutManager mGridLayoutManager = new GridLayoutManager(LessonsActivity.this, 1);
recyclerView.setLayoutManager(mGridLayoutManager);
}
这是我的Database Structure。
【问题讨论】:
-
按照此处的说明下载文件时遇到什么问题:firebase.google.com/docs/storage/android/download-files?
标签: android firebase firebase-realtime-database firebase-storage