【发布时间】:2022-02-19 17:49:21
【问题描述】:
我有这个小问题,我正在尝试从我的 firebase 数据库中获取一个数字,问题是我可以获取该数字,但似乎我做错了将它存储在一个整数中。
我要做的是从 firebase 获取数字并将其与我的应用程序的版本号进行比较,这样我就可以告诉我的用户在应用程序高于我当前版本时更新应用程序
这是我的代码
mDatabase.child("version").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// System.out.println(dataSnapshot.getValue());
//Log.e("Versiondeapp",""+dataSnapshot.getValue());
int ultimaVersion = (int) dataSnapshot.getValue();
if(versionCode!=ultimaVersion){
ActualizarAppAlert();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我的问题就在这里
int ultimaVersion = (int) dataSnapshot.getValue();
似乎我无法将该数值从 firebase 存储到整数变量
我当前的堆栈错误
java.lang.NullPointerException:尝试调用虚拟方法'int 空对象引用上的 java.lang.Integer.intValue()'
PS:我这样做解决了我的问题
Integer.valueOf(datasnapshot.getvalue().tostring());
【问题讨论】:
-
请添加您的数据库结构和您使用
Integer.intValue()的行。 -
嗨 @AlexMamo 我没有使用 Integer.intValue()
标签: android firebase firebase-realtime-database