簡體   English   中英

檢查Firebase中是否存在值有一個奇怪的問題

[英]Checking if values exists in Firebase have a weird issue

我正在檢查兩個值是否在數據庫中,如果它們是我正在將這些值並將其存儲到內部存儲器中。 現在,當我第一次啟動該應用程序時,它運行良好,因為我沒有數據庫中的數據,因此我在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的變量不是一個好的選擇。

因此解決此問題,更好的選擇是將所需數據存儲到數據庫中。 即使您卸載了該應用程序,它也會在那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM