file - check if SharedPrefecences exists in Android -


i want check if have save data in shared preferences read file, because if file not exist , app wont work.

i search stack overflow , offered this:

file f = new file( "/data/data/your_application_package/shared_prefs/name_of_your_preference.xml"); if (f.exists()){     sharedpreferences prefs = getpreferences(mode_private);     string restoredtext = prefs.getstring("text", null); } else     log.d("tag", "setup default preferences"); 

now don't know use correctly or not. , save pref:

sharedpreferences.editor editor = getpreferences(mode_private).edit(); editor.putstring("text", showcounttv.gettext().tostring()); editor.apply(); 

edited: of course know can :

sharedpreferences prefs = getpreferences(mode_private); string restoredtext = prefs.getstring("text", null); 

but when @ first time app installed because nothing have been saved , program crashed.this logcat:

06-19 09:53:25.794  20485-20485/com.pirisalavat.amirhossein.amir d/androidruntime﹕ shutting down vm 06-19 09:53:25.795  20485-20485/com.pirisalavat.amirhossein.amir e/androidruntime﹕ fatal exception: main     process: com.pirisalavat.amirhossein.amir, pid: 20485     java.lang.runtimeexception: unable start activity componentinfo{com.pirisalavat.amirhossein.amir/com.pirisalavat.amirhossein.amir.mainactivity}: java.lang.nullpointerexception: attempt invoke virtual method 'java.lang.string java.lang.string.tostring()' on null object reference             @ android.app.activitythread.performlaunchactivity(activitythread.java:2325)             @ android.app.activitythread.handlelaunchactivity(activitythread.java:2390)             @ android.app.activitythread.access$800(activitythread.java:151)             @ android.app.activitythread$h.handlemessage(activitythread.java:1303)             @ android.os.handler.dispatchmessage(handler.java:102)             @ android.os.looper.loop(looper.java:135)             @ android.app.activitythread.main(activitythread.java:5257)             @ java.lang.reflect.method.invoke(native method)             @ java.lang.reflect.method.invoke(method.java:372)             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:903)             @ com.android.internal.os.zygoteinit.main(zygoteinit.java:698)      caused by: java.lang.nullpointerexception: attempt invoke virtual method 'java.lang.string java.lang.string.tostring()' on null object reference             @ com.pirisalavat.amirhossein.amir.mainactivity.getdataformsharedpref(mainactivity.java:73)             @ com.pirisalavat.amirhossein.amir.mainactivity.oncreate(mainactivity.java:30)             @ android.app.activity.performcreate(activity.java:5990)             @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1106)             @ android.app.activitythread.performlaunchactivity(activitythread.java:2278)             at android.app.activitythread.handlelaunchactivity(activitythread.java:2390)             at android.app.activitythread.access$800(activitythread.java:151)             at android.app.activitythread$h.handlemessage(activitythread.java:1303)             at android.os.handler.dispatchmessage(handler.java:102)             at android.os.looper.loop(looper.java:135)             at android.app.activitythread.main(activitythread.java:5257)             at java.lang.reflect.method.invoke(native method)             at java.lang.reflect.method.invoke(method.java:372)             at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:903)             at com.android.internal.os.zygoteinit.main(zygoteinit.java:698) 

there sharedpreferences method called contains can use purpose:

if (getpreferences(mode_private).contains("text")) {     // } 

and don't recommend creating file pointing sharedpreferences - can't know sure file created in directory called "/data/data/your_application_package/shared_prefs" - there plenty of vendors , each of them has plenty of devices, file can contained somewhere else/its name different/etc. contains() enough.


Comments

Popular posts from this blog

How to connect android app to App engine -

gcc - MinGW's ld cannot perform PE operations on non PE output file -

php - display validation error message next to the textbox in codeigniter -