Ok, sorry for the double post, but I managed to get this sorted.

Suddenly preferences seem clearer to me. I apparently had some sort of
epiphany. :)

Thanks for the pointers.

Stu.

On Apr 12, 9:14 am, Stu <stuart.gilb...@gmail.com> wrote:
> Hi Mark,
>
> I have made the change you suggested, but that puts me back to the
> error I was getting originally:
>
> E/AndroidRuntime( 9948): Uncaught handler: thread main exiting due to
> uncaught exception
> [...]
> E/AndroidRuntime( 9948): Caused by: java.lang.NullPointerException
> E/AndroidRuntime( 9948):        at
> android.content.ContextWrapper.getPackageName(ContextWrapper.java:120)
> E/AndroidRuntime( 9948):        at
> android.preference.PreferenceManager.getDefaultSharedPreferencesName(PreferenceManager.java:
> 356)
> E/AndroidRuntime( 9948):        at
> android.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:
> 351)
>
> which is caused by line 50 of my class: final SharedPreferences prefs
> = PreferenceManager.getDefaultSharedPreferences(this);
>
> This error message doesn't really help me very much... Everything
> appears to be the same as in the Dialogs example you pasted a URL to.
> Any more suggestions?
>
> Regards,
> Stuart.
>
> On Apr 9, 5:01 pm, Mark Murphy <mmur...@commonsware.com> wrote:
>
> > Stu wrote:
> > > Hi, I seem to be struggling with the concept of Context in Android
> > > when dealing with the application preferences.
>
> > > I have an application with a few different classes. I need to be able
> > > to get the value of one of the preferences from a class that is not my
> > > main class, but I can't seem to get it working at all.
>
> > > I get a NullPointerException with the following (as well as about a
> > > hundred other variations):
>
> > >     final SharedPreferences prefs =
> > > PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
> > >     final boolean increasing = prefs.getBoolean("preference_name",
> > > false);
>
> > > Am I doing something completely stupid?
>
> > Activity is a Context.
>
> > Service is a Context.
>
> > Anything on which you can call getApplicationContext() is a Context.
>
> > Hence, get rid of your call to getApplicationContext() and replace it
> > with "this" (minus the quotes).
>
> > Only use getApplicationContext() when you specifically and absolutely
> > need an Application object.
>
> > > Is there an example app
> > > that anyone can think of that might be helpful?
>
> > For SharedPreferences, try:
>
> >http://github.com/commonsguy/cw-android/tree/master/Prefs/Dialogs/
>
> > --
> > Mark Murphy (a Commons 
> > Guy)http://commonsware.com|http://twitter.com/commonsguy
>
> > _The Busy Coder's Guide to Android Development_ Version 3.0
> > Available!
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Beginners" group.

NEW! Try asking and tagging your question on Stack Overflow at
http://stackoverflow.com/questions/tagged/android

To unsubscribe from this group, send email to
android-beginners+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en

Reply via email to