Firebase没有在android studio中按字母顺序排序文件,?

prdp8dxp  于 2023-01-03  发布在  Android
关注(0)|答案(1)|浏览(137)

我正在使用firebase存储保存图像,当我在应用程序上检索它们时,文件没有按字母顺序排序。Firebase按日期时间排序文件,第一次上传显示在第一次然后第二次。我有很多文件,不能一个接一个地上传这些文件。有没有办法按字母顺序排序文件。喜欢

001.png
002.png
003.png
004.png
005.png

...
'

private void saveAllSigns() {
    showDialog();
    for (int i = 0; i < SignNameList.length; i++) {
        StorageReference storageReference = FirebaseStorage.getInstance().getReference().child(SignNameList[i]);
        int finalI1 = i;
        storageReference.listAll().addOnSuccessListener(new OnSuccessListener<ListResult>() {
            @Override
            public void onSuccess(ListResult listResult) {
                List<StorageReference> list = listResult.getItems();
                for (StorageReference str : list) {
                    long SIZE = 1024 * 1024;
                    str.getBytes(SIZE).addOnSuccessListener(new OnSuccessListener<byte[]>() {
                        @Override
                        public void onSuccess(byte[] bytes) {
                            saveData(bytes, str.getName(), finalI1);
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            Log.d("SlashLog", "Firebase Exception: " + e.getMessage());

                        }

'
寻找解决方案

67up9zun

67up9zun1#

由于您没有清楚地提到Firestore或实时数据库的问题所在,我假设您在实时数据库中遇到了问题。默认情况下,Firebase实时数据库不提供任何在服务器端排序数据的方法,您需要在客户端处理此问题。
如本link中所述
可以使用实时数据库查询类检索按键、值或子代值排序的数据。还可以将排序结果筛选为特定数量的结果或一定范围的键或值。
要检索已排序的数据,首先指定一个order-by方法来确定结果的排序方式:

orderByChild()-按指定子键或嵌套子路径的值对结果进行排序。
orderByKey()-按子键对结果进行排序。
orderByValue()-按子值对结果进行排序。

一次只能使用一个order-by方法。在同一查询中多次调用order-by方法会引发错误。
您还可以检查此堆栈溢出thread

相关问题