我的对象:
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] 删除。
我来说两句