Well put, as always. Thanks Dianne! /Chuck On 13 Okt, 00:56, Dianne Hackborn <hack...@android.com> wrote: > If you are loading resources, you should strongly consider making this a > "singleton per context". The resources you get for different contexts can > vary due to themes and such. > > If your singleton is doing things you know are global to the app -- for > example loading concrete resources that can't be changed by theme or > configuration, and loading shared preferences under an explicit name -- then > truly making it a singleton is fine. Just have the call to get the > singleton take a Context, and when called the first time and constructing > the singleton use getApplicationContext() on that to keep the context you > will be holding in your singleton. This is essentially the context for your > package, which is also your class loader, which you are singleton of. There > is nothing funky or wrong with putting things together like that. > > So doing a singleton this way is in my mind the simplest, and as long as you > know what you are doing and these are the semantics you want there is > nothing incorrect or not robust about it. > > > > > > On Tue, Oct 12, 2010 at 12:15 PM, Chuck Lega <chuck.l...@gmail.com> wrote: > > Ok, I may be a bit vague, but say I want an utility class to do some > > common stuff, including resources and shared prefs. Then I need a > > context. If I put a SharedPreferenceListener into the class, I am lost > > if I want to do something using a context when receiving the > > callbacks. > > > This is how I think about it now: singleton object with init(ctx). > > Init is called from App, i.e. with appctx. > > What would typically this (app)context not be suitable for? > > > Sorry for deviating... > > > /Chuck > > > On 12 Okt, 21:03, TreKing <treking...@gmail.com> wrote: > > > On Tue, Oct 12, 2010 at 1:37 PM, Chuck Lega <chuck.l...@gmail.com> > > wrote: > > > > For instance, say I register a listener in the singleton. The callbacks > > to > > > > the listener does not contain a context, and I am back at square one > > > > again...So, I guess init-ing the singleton with a context is the > > simplest > > > > way, > > > > and making it a service the most robust/correct(?). > > > > What listeners and callbacks are we talking about? You may want to > > provide > > > more, um, context (har har) about how you're using a singleton, > > callbacks, > > > listeners, and the Context. There's probably a better way than > > initializing > > > the singleton with the Context object. > > > > And making your singleton a Service may not necessarily be the most > > robust > > > /correct - it depends on what you're trying to achieve with this > > singleton. > > > ------------------------------------------------------------------------------------------------- > > > TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago > > > transit tracking app for Android-powered devices > > > -- > > You received this message because you are subscribed to the Google > > Groups "Android Developers" group. > > To post to this group, send email to android-developers@googlegroups.com > > To unsubscribe from this group, send email to > > android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com> > > For more options, visit this group at > >http://groups.google.com/group/android-developers?hl=en > > -- > Dianne Hackborn > Android framework engineer > hack...@android.com > > Note: please don't send private questions to me, as I don't have time to > provide private support, and so won't reply to such e-mails. All such > questions should be posted on public forums, where I and others can see and > answer them.- Dölj citerad text - > > - Visa citerad text -
-- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en