簡體   English   中英

是否保證在Context中的getDefaultSharedPreferences中給出相同的結果?

[英]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.htmlhttp://developer.android.com/reference/android/content/Context.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM