[英]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.