2012-01-02 18 views
6

Lo que entendí sobre context.MODE_PRIVATE o MODE_READABLE, WRITABLE es que esas funciones crean archivos para sharedprefrences.¿Por qué usar Context.MODE_PRIVATE o Context.MODE_WRITABLE?

Me pregunto cuál es la diferencia entre context.getSharedPreferences(KEY, Context.MODE_PRIVATE) y getSharedPreferences(KEY, 0);.

getSharedPreferences recupera sus preferencias de una carpeta xml hasta donde yo sé. Y Context.MODE_PRIVATE almacena sus archivos. Y por qué usar context.getSharedPreferences(KEY, Context.MODE_PRIVATE) si ambos getSharedPreferences(KEY, 0) y context.getSharedPreferences(KEY, Context.MODE_PRIVATE) hacen archivos.

A continuación es parte de la API de Facebook donde noté 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(); 
} 

Respuesta

7

No hay Context.MODE_WRITABLE o Context.MODE_READABLE según la javadoc. Así que supongo que estás hablando de Context.MODE_WORLD_WRITABLE o Context.MODE_WORLD_READABLE. (No es que esto es realmente relevante a su pregunta ...)


Me pregunto ¿cuál es la diferencia entre

context.getSharedPreferences(KEY, Context.MODE_PRIVATE) 

y

context.getSharedPreferences(KEY, 0); 

Hay sin diferencia funcional Context.MODE_PRIVATE es una constante int con valor cero; consulte el javadoc vinculado anteriormente para los detalles. Sin embargo, el primero es más legible, y eso lo hace preferible desde una perspectiva de estilo de código.

+1

entonces ... ¿no hay diferencia funcional entre ellos? thx –

+4

@SehoLee - * "entonces ... ¿no hay diferencia funcional entre ellos?" * Eso es lo que acabo de decir ... –