SharedPreferences sind auf einmal leer

  • Hallo erstmal,
    an alle hier im Forum. Ich erstelle gerade eine App und habe mich bisher, auch durch schwierige Sachen, ganz gut allein durchgefuchst. Nun bin ich jedoch seit Tagen am Verzweifeln und weiß nicht mehr weiter.


    Ich habe eine Login DialogActivity, das Passwort wird in den SharedPreferences gespeichert. Ein Service überprüft dann einige Events und es poppt ggf. eine weitere DialogActivity auf. Das hier eingegebene Passwort vergleiche ich nun bei Button-Klick mit dem in den SharedPreferences gespeicherten Passwort. Alles funktioniert bei allen Dialogen soweit einwandfrei. Innerhalb der gesamten App sind die Prefs abrufbar und alle da.


    Nun habe ich eine weitere DialogActivity, wo ich es genauso wie in den anderen gemacht habe, doch auf einmal sind die Prefs leer. Kein gespeichertes Password mehr da…, und ich bekomme eine NullPointerException.


    Ich habe es alternati mit einer static Variable in meinem Service versucht, die ich dann in der betreffenden DialogActivity abrufe…, erfolglos. Die ist auch leer.
    Ich bitte Euch um Hilfe, was ich tun kann. Die SharedPrefs-Lösung wäre mir schon am liebsten, da ich alle anderen Daten auch darin speichere.


    Hier meine Logcat-Ausgabe:


    06-29 00:20:47.552: E/AndroidRuntime(16170): FATAL EXCEPTION: main
    06-29 00:20:47.552: E/AndroidRuntime(16170): Process: de.getappsolution.kidstimelocker, PID: 16170
    06-29 00:20:47.552: E/AndroidRuntime(16170): java.lang.IllegalStateException: Could not execute method of the activity
    06-29 00:20:47.552: E/AndroidRuntime(16170): at android.view.View$1.onClick(View.java:4221)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at android.view.View.performClick(View.java:5155)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at android.view.View$PerformClick.run(View.java:20747)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at android.os.Handler.handleCallback(Handler.java:739)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at android.os.Handler.dispatchMessage(Handler.java:95)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at android.os.Looper.loop(Looper.java:145)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at android.app.ActivityThread.main(ActivityThread.java:5832)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at java.lang.reflect.Method.invoke(Native Method)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at java.lang.reflect.Method.invoke(Method.java:372)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
    06-29 00:20:47.552: E/AndroidRuntime(16170): Caused by: java.lang.reflect.InvocationTargetException
    06-29 00:20:47.552: E/AndroidRuntime(16170): at java.lang.reflect.Method.invoke(Native Method)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at java.lang.reflect.Method.invoke(Method.java:372)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at android.view.View$1.onClick(View.java:4216)
    06-29 00:20:47.552: E/AndroidRuntime(16170): ... 10 more
    06-29 00:20:47.552: E/AndroidRuntime(16170): Caused by: java.lang.NullPointerException: println needs a message
    06-29 00:20:47.552: E/AndroidRuntime(16170): at android.util.Log.println_native(Native Method)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at android.util.Log.i(Log.java:207)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at de.getappsolution.kidstimelocker.DialogAdminDisabled.disableAdmin(DialogAdminDisabled.java:66)
    06-29 00:20:47.552: E/AndroidRuntime(16170): at de.getappsolution.kidstimelocker.DialogAdminDisabled.onClick(DialogAdminDisabled.java:38)
    06-29 00:20:47.552: E/AndroidRuntime(16170): ... 13 more


    Ich bin für jeden Tip dankbar.

  • Preferences sind nicht einfach so leer.
    Du machst also Fehler beim Auslesen. Falscher Preference Name, falscher Key, irgendwie sowas.


    Weiterhin solltest Du lieber einen Hash statt des Kennworts ablegen.


    Dein Absturz schließlich dürfte daran liegen, dass Du ungefähr sowas machst:

    Java
    Log.e("Tag", object );

    Wenn jetzt object == NULL ist, kann das mitunter schief gehen.
    Du solltest also mal schauen, was Du in der DialogAdminDisabled.java in Zeile 66 geschrieben hast und was davon NULL sein könnte.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • wenn es nicht am falschen namen oder key liegt, könnte es möglich sein das die App, wenn vorhanden, von der IDE zuerst deinstalliert wird bevor sie wieder neu installiert wird??? was meint ihr?


    beim deinstallieren der app gehen meines wissen alle SharedPreferences verloren.


    Ich weiss, ist weit ausgeholt aber alles andere ist ja schon fast ausgeschlossen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!