为了账号安全,请及时绑定邮箱和手机立即绑定

我想在 recyclerview 开始时显示上传到 firebase storage 的最新图像

我想在 recyclerview 开始时显示上传到 firebase storage 的最新图像

慕后森 2023-10-19 21:32:18
我正在将图像上传到 firebase 存储,然后将该图像的名称和 url 推送到数据库中。接下来,我将检索图像 url,以在我的 recyclerview 中显示图像。现在我想在 recyclerview 启动时显示上传到 firebase 存储的最新图像。如何更改 Firebase 数据库中的顺序?现在,您添加的第一张图像是数据库中的第一张图像。我想要用户上传的最新图像,该图像的 url 应位于 firebase 数据库的顶部。每个图像Name: tomDesc: 1Url: anyName: mikiDesc: 2Url: any描述: 1 是最旧的描述: 2 是最新的如何更改订单请给我完整的代码壁纸活动public class WallpapersActivity extends AppCompatActivity {List<Wallpaper> wallpaperList;List<Wallpaper> favList;RecyclerView recyclerView;WallpapersAdapter adapter;DatabaseReference dbWallpapers, dbFavs;ProgressBar progressBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_wallpapers);    Intent intent = getIntent();    final String category = intent.getStringExtra("category");    Toolbar toolbar = findViewById(R.id.toolbar);    toolbar.setTitle(category);    setSupportActionBar(toolbar);    favList = new ArrayList<>();    wallpaperList = new ArrayList<>();    recyclerView = findViewById(R.id.recycler_view);    recyclerView.setHasFixedSize(true);    recyclerView.setLayoutManager(new LinearLayoutManager(this));    adapter = new WallpapersAdapter(this, wallpaperList);    recyclerView.setAdapter(adapter);    progressBar = findViewById(R.id.progressbar);    dbWallpapers = FirebaseDatabase.getInstance().getReference("images")            .child(category);    if(FirebaseAuth.getInstance().getCurrentUser() != null){        dbFavs = FirebaseDatabase.getInstance().getReference("users")                .child( FirebaseAuth.getInstance().getCurrentUser().getUid() )                .child( "favourites" )                .child( category );        fetchFavWallpapers( category );    }else {        fetchWallpapers( category );    }}
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

在壁纸活动中设置适配器之前添加此行:

                Collections.reverse( wallpaperList);


查看完整回答
反对 回复 2023-10-19
?
HUH函数

TA贡献1836条经验 获得超4个赞

您可以在检索子值时使用时间戳,并且可以在顶部显示具有最新时间戳的值

ref.child("myData").orderByChild("timestamp").limitToLast(10)

然后在您的安全和规则中有类似的内容:

"myData": {
        ".indexOn": "timestamp"
      }

提高性能


查看完整回答
反对 回复 2023-10-19
  • 2 回答
  • 0 关注
  • 94 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信