2012-01-02 17 views
6

Co zrozumiałem o context.MODE_PRIVATE lub MODE_READABLE, WRITABLE jest to, że te funkcje tworzą pliki dla sharedprefrences.Dlaczego warto korzystać z Context.MODE_PRIVATE lub Context.MODE_WRITABLE?

Zastanawiam się, jaka jest różnica między context.getSharedPreferences(KEY, Context.MODE_PRIVATE) i getSharedPreferences(KEY, 0);.

getSharedPreferences pobiera swoje preferencje z folderu xml, o ile wiem. I Context.MODE_PRIVATE przechowuje swoje pliki. I dlaczego warto używać context.getSharedPreferences(KEY, Context.MODE_PRIVATE), jeśli oba pliki tworzą getSharedPreferences(KEY, 0) i context.getSharedPreferences(KEY, Context.MODE_PRIVATE).

Poniżej znajduje się część interfejsu API Facebooka, w którym zauważyłem Context.MODE_PRIVATE.

public static boolean save(Facebook session, Context context) { 
    Editor editor = 
     context.getSharedPreferences(KEY, Context.MODE_PRIVATE).edit(); 
    editor.putString(TOKEN, session.getAccessToken()); 
    editor.putLong(EXPIRES, session.getAccessExpires()); 
    return editor.commit(); 
} 
public static boolean restore(Facebook session, Context context) { 
    SharedPreferences savedSession = 
     context.getSharedPreferences(KEY, Context.MODE_PRIVATE); 
    session.setAccessToken(savedSession.getString(TOKEN, null)); 
    session.setAccessExpires(savedSession.getLong(EXPIRES, 0)); 
    return session.isSessionValid(); 
} 

Odpowiedz

7

Nie ma Context.MODE_WRITABLE lub Context.MODE_READABLE według javadoc. Zakładam więc, że mówisz o Context.MODE_WORLD_WRITABLE lub Context.MODE_WORLD_READABLE. (Nie, że jest to rzeczywiście pasuje do Twojego pytania ...)


Zastanawiam się jaka jest różnica między

context.getSharedPreferences(KEY, Context.MODE_PRIVATE) 

i

context.getSharedPreferences(KEY, 0); 

istnieje brak różnic funkcjonalnych. Context.MODE_PRIVATE to stała int o wartości zero; odnieś się do wyżej omówionego javadoc. Ten pierwszy jest bardziej czytelny, a to czyni go lepszym z perspektywy stylu kodu.

+1

, więc ... nie ma między nimi różnicy funkcjonalnej? thx –

+4

@SehoLee - * "więc ... nie ma między nimi różnicy funkcjonalnej?" * Właśnie tak powiedziałem ... –

Powiązane problemy