TreeMap无法在某些设备上对元素进行排序

美娜

我的对象:

public class School{
TreeMap<String, int> classes = new TreeMap<>();
}

这是将对象保存到Firebase Realtime DB的方法:

 mDatabase.child("School").setValue(school);

这是我从Firebase Realtime DB检索对象的方式:

ValueEventListener listener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        SChool s = dataSnapshot.getValue(School.class);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
    }
};

问题:使用TreeMap应该确保键的顺序,这些键总是正确地写在DB上,如下所示:

在此处输入图片说明

在各种仿真器和物理设备上测试该应用程序将显示预期的正常行为,即以与上述DB上可见的相同的升序排序方式查看类。

但是,我收到应用程序用户的抱怨,该列表在他们的设备上根本没有排序顺序。这些设备包括:华为伴侣8,OPPO F9。

我迷失了方向,我在这里错过了什么吗?

美娜

我尝试再次上传应用程序,但是这次使用“生成签名的APK”,它现在在所有设备上都可以正常运行。甚至用户遇到与我的应用有关的设备。

似乎使用“生成已签名的捆绑包”在Google Play上发布该应用程序时,会导致各种问题,包括上述问题。这会引起混乱,因为许多设备在使用TreeMap的正常预期行为正常运行应用程序时都没有问题。但是,在其他设备上,TreeMap根本不对键进行排序。

还要检查一下,这也是因为使用“生成签名包”将其上传到Google Play。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 VeeValidate 进行 VueJS 表单验证,无法在某些移动设备上输入

在对数组元素进行排序时某些输入上的ArrayIndexOutOfBoundExceptions吗?

活动在某些设备上无法正常工作

填充无法在某些设备上使用

AlarmManager在某些设备上无法启动?

Android应用无法在某些设备上运行

LinearLayout无法在某些设备上添加视图

Admob广告无法在某些设备上展示

NSFileManager:无法在某些设备上创建目录

Python无法对某些值的列表进行排序

为什么我的排序方法无法对某些字符进行排序?

基于枚举对 TreeMap 进行排序

画布元素无法在iOS设备上呈现

Flexbox order 属性无法对元素进行排序?

无法对任何类型的元素进行堆排序

DataTables API:由于渲染(在某些元素中插入字符串),DataTables 无法对一列整数进行排序

在JavaScript上对数组元素进行排序

小型设备上的Twitter引导重新排序元素

WebView无法在某些Android设备上加载图像或CSS

AnimatedVectorDrawable-reset()在某些华为设备上无法正常工作

动画在某些设备上无法正常工作-Android

Android低功耗蓝牙:无法在某些设备上听到广告

无法在某些关闭的Genymotion设备上运行.apk

网站无法在某些IOS设备上呈现[死亡白屏?]

广播接收器在某些设备上无法正常工作

无法在某些设备上的Android中设置textColor

在某些android设备中,图像无法在FlatList上呈现

通过元素上的条件值对numpy数组元素进行排序

从元素的排序列表构建Java TreeMap