[英]does the context passed on getDefaultSharedPreferences affects the result?
[英]does it guarantee to give same result in getDefaultSharedPreferences within Context?
我讀了這個討論,但是仍然有一個問題。
如果我使用getDefaultSharedPreferences(getApplicationContext())
和getDefaultSharedPreferences(SomeActivity.this)
,是否保證給出相同的結果(相同的XML首選項文件訪問)?
是的,它確實。 context參數用於獲取包名稱,該名稱將用作android存儲您的值的xml文件的名稱。 您可以在此處查看androis的源代碼
祝您2014年新年快樂
兩者將表現相同!
View.getContext():返回視圖當前正在其中運行的上下文。通常是當前活動的Activity。
Activity.getApplicationContext():返回整個應用程序的上下文(所有Activity在其中運行的進程)。 如果您需要一個與整個應用程序的生命周期相關聯的上下文,而不僅僅是當前的Activity,請使用它代替當前的Activity上下文。
ContextWrapper.getBaseContext():如果需要從另一個上下文中訪問上下文,則可以使用ContextWrapper。 可以通過getBaseContext()訪問從ContextWrapper內部引用的Context。
請注意,在幕后
getDefaultSharedPreferences(context)
電話
getSharedPreferences(context.getPackageName(), MODE_PRIVATE)
據我了解:上下文是基礎對象。 因此,每個與Application相同的Activity都來自Context。 這意味着每個活動和每個應用程序都是一個上下文。 希望現在您了解事物,以便我們可以說它們會產生相同的行為。
請參考http://developer.android.com/reference/android/app/Activity.html和http://developer.android.com/reference/android/content/Context.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.