Java 为什么使用Context.MODE\u PRIVATE或Context.MODE\u WRITABLE?

Java 为什么使用Context.MODE\u PRIVATE或Context.MODE\u WRITABLE?,java,android,facebook,Java,Android,Facebook,我对context.MODE\u PRIVATE或MODE\u可读写的理解是,这些函数为共享引用生成文件 我想知道context.getSharedReferences(KEY,context.MODE\u PRIVATE)和getSharedReferences(KEY,0)之间有什么区别 据我所知,getSharedReferences从xml文件夹检索其首选项。和Context.MODE_PRIVATE存储其文件。如果getSharedReferences(KEY,context.MODE

我对
context.MODE\u PRIVATE
MODE\u可读写
的理解是,这些函数为共享引用生成文件

我想知道
context.getSharedReferences(KEY,context.MODE\u PRIVATE)
getSharedReferences(KEY,0)之间有什么区别

据我所知,
getSharedReferences
从xml文件夹检索其首选项。和
Context.MODE_PRIVATE
存储其文件。如果
getSharedReferences(KEY,context.MODE\u PRIVATE)
context.getSharedReferences(KEY,context.MODE\u PRIVATE)
都生成文件,为什么要使用
context.getSharedReferences(KEY,context.MODE\u PRIVATE)

下面是我注意到的Facebook API的一部分
Context.MODE\u 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();
}

没有
上下文。模式可写
上下文。模式可读
。所以我假设你说的是
Context.MODE\u WORLD\u writeable
Context.MODE\u WORLD\u READABLE
。(并不是说这实际上与您的问题有关……)


我想知道这两者的区别是什么

    context.getSharedPreferences(KEY, Context.MODE_PRIVATE)

    context.getSharedPreferences(KEY, 0);
没有功能上的区别<代码>上下文。MODE_PRIVATE
是一个值为零的
int
常量;有关详细信息,请参阅上面链接的javadoc。但前者更具可读性,因此从代码风格的角度来看更可取。

@SehoLee-“所以……它们之间没有功能上的区别?”这就是我刚才所说的。。。