Java 保存并读取整数Firestore Android
我正在尝试为我的Android游戏创建一个简单的统计活动。我正在使用新的Firestore数据库。我已经能够使用总分、最近分数、平均分数、总游戏数和高分将文档保存到我的Firestore数据库中,但是当我尝试从数据库中读取数据时,它返回空值Java 保存并读取整数Firestore Android,java,android,database,firebase,google-cloud-firestore,Java,Android,Database,Firebase,Google Cloud Firestore,我正在尝试为我的Android游戏创建一个简单的统计活动。我正在使用新的Firestore数据库。我已经能够使用总分、最近分数、平均分数、总游戏数和高分将文档保存到我的Firestore数据库中,但是当我尝试从数据库中读取数据时,它返回空值 public void readFromDB(){ statsDoc.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() { @Over
public void readFromDB(){
statsDoc.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
if(documentSnapshot.exists()){
UserData userdata = documentSnapshot.toObject(UserData.class);
}
}
当我用字符串测试它时,它工作得很好,但由于某些原因整数不起作用。提前谢谢 在做了一些测试之后,我得出结论,我们必须将long转换为整数,因为这是从firestore获取“数字”得到的结果。 我的数据是这样的:
单击字段末尾的“编辑”图标,确保存储了一个“数字”:
使用此选项进行铸造:
我的代码如下所示:
int money = snapshot.getLong("money").intValue();
请随时要求进一步解释
在此处输入代码
float TotalAmount=float.parseFloat
(String.valueOf(ObjectsrequireNonNull(getSnapshots().getSnapshot(position).getLong(“TotalAmount”)))
试试看。。。。。。。。101%%%在我看来不错。对于未提供字段的情况,我建议首先执行NOTNULL检查。
int money = snapshot.getLong("money").intValue();