Yes, I agree it is confusing, but it is not in the SDK so not a high priority to go through all the effort of changing.
On Wed, Sep 30, 2009 at 5:41 AM, amit <[email protected]> wrote: > > hi Dianne, > > thanks for the reply... > I think the name ApplicationContext is slightly misleading. > Because the ApplicationContext object acts as a Base Context object > which gets stored in ContextWrapper / ContextThemeWrapper > > Whereas when I call myActivity.getApplicaitonContext, I actually get > the application object. > in ApplicationContext.java > @Override > public Context getApplicationContext() { > return mMainThread.getApplication(); > } > > > So what gets created as Application context is actually a base context > and what actually is returned when getApplicationContext is the > mInitialApplicaiton object. > > > Cause of Confusion: > The reason why i felt this leads to confusion (for someone who is > reading the code not to someone who is using the API) is because, the > javadoc for getApplicaitonContext says that there is only one > ApplicaitonContext object for the entire applicaiton (which is > obtained by calling getApplicationContext). WHEREAS each activity in > an application can have its own ApplicationContext object (which is > mBase). > > So 2 entirely different objects have been named with the same name : > ApplicationContext. > > Regards, > Amitkeerti > > > > > On Sep 29, 10:59 pm, Dianne Hackborn <[email protected]> wrote: > > ApplicationContext is private implementation. Activity takes care of the > > startActivity implementation for itself, since it wants the starting > > activity to be associated with the original activity (and > ApplicationContext > > is just the most generic context, which doesn't know that it is an > > activity). > > > > > > > > On Tue, Sep 29, 2009 at 12:49 AM, amit <[email protected]> wrote: > > > > > hi, > > > > > I was going through the code for Activity.java and ApplicationContext. > > > > > Both these classes define many functions of Context Interface. Take > > > for example startActivity.java > > > > > Activity Class has its own implementation of startActivity > > > ApplicationContext class also has an implemenetaion of startActivity. > > > > > Now there are 2 observations... > > > > > Observation 1: Regarding ApplicationContext.java > > > > > ==================== > > > /** > > > * Common implementation of Context API, which Activity and other > > > application > > > * classes inherit. > > > */ > > > @SuppressWarnings({"EmptyCatchBlock"}) > > > class ApplicationContext extends Context { > > > =================================== > > > > > So the comments imply that Activity class should actually use > > > ApplicaitonContext.java. Infact Activity Class should inherit > > > ApplicationContext class. > > > > > Observation 2: Regarding Activity.java > > > > > But if you look at class Hierarchy of Activity class, it goes as: > > > > > Context ==> ContextWrapper ==> ContextThemeWrapper ==> Activity > > > > > So nowhere do I find ApplicationContext. > > > > > Questions: > > > 1. Who uses ApplicationContext class? > > > 2. Does Activity class ever deal with ApplicationContext class (as > > > given in the javadoc comments of ApplicationContext.java). > > > > > Thanks, > > > Amit > > > > -- > > Dianne Hackborn > > Android framework engineer > > [email protected] > > > > 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. > > > -- Dianne Hackborn Android framework engineer [email protected] 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. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

