gpt4 book ai didi

java - 检查 Firebase 中是否存在值有一个奇怪的问题

转载 作者:行者123 更新时间:2023-12-02 02:22:41 25 4
gpt4 key购买 nike

我正在检查数据库中是否有两个值,如果是,我会将这些值存储到内存中。现在,当我第一次启动该应用程序时,它运行良好,因为数据库中没有数据,因此我输入 else 语句,如果数据不存在,我会执行另一件事。

但是,当我从设置中删除应用数据或重新安装应用数据时,它不会在我的 Firebase 中检查数据是否存在,而是会输入 else 语句中,我不知道为什么。

    private void ChequearSiExistenDatos(){

//chequear if exists la data de las referencias de los archivos de usuario , si existen continuar con la app y bajar esos sino traer el del locale
mDatabase.child("Users").child(mAuth.getCurrentUser().getUid()).child("URL_UserFiles").child("URL_car_"+sharedPrefs.getString(getString(R.string.str_idioma),"en")).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(final DataSnapshot dataSnapshotCar) {

mDatabase.child("Users").child(mAuth.getCurrentUser().getUid()).child("URL_UserFiles").child("URL_model_"+sharedPrefs.getString(getString(R.string.str_idioma),"en")).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshotModel) {
if (dataSnapshotCar.getValue()!=null && dataSnapshotModel.getValue()!=null) {

//DOWNLOAD FROM FIREBASE
}
else
{
//DO SOMETHING LOCALLY
}

最佳答案

代码中的问题是由于 sharedPrefs 造成的。 SharedPreferences 不会随着应用程序卸载而持续存在,而是始终被删除。因此,在卸载应用程序后尝试使用 SharedPreferences 中的变量并不是一个好的选择。

所以解决这个问题,更好的选择是将所需的数据存储到数据库中。即使您卸载该应用程序,它也会在那里。

关于java - 检查 Firebase 中是否存在值有一个奇怪的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48283184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com