sự khác biệt là gì, khi tôi nhận được các ưu đãi như:Tùy chọn Android - sự khác biệt là gì?
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
và
getPreferences(Context.MODE_PRIVATE);
sự khác biệt là gì, khi tôi nhận được các ưu đãi như:Tùy chọn Android - sự khác biệt là gì?
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
và
getPreferences(Context.MODE_PRIVATE);
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
sẽ cung cấp quyền truy cập vào một tập tin sở thích đó là toàn cầu cho gói ứng dụng tổng thể; bất kỳ hoạt động nào cũng có thể truy cập các tùy chọn (nội bộ, tệp xml giữ các tùy chọn sẽ có tên là your.application.package_preferences.xml
).
contextInstance.getPreferences(Context.MODE_PRIVATE);
sẽ cung cấp các ưu đãi chỉ dành cho các lớp contextInstance: chỉ trường hợp của lớp của bối cảnh có thể truy cập vào các sở thích (nói gói của bạn vẫn là your.application.package
và bạn đang ở your.application.package.foo.MyActivity
, internaly các ưu đãi file là foo.MyActivity.xml
).
Vâng, bạn đã giải thích nó tốt hơn tôi. Thumbs up! – Wroclai
Cảm ơn, OcuS. Bạn có thể vui lòng làm rõ nếu tôi sử dụng '.getDefaultSharedPreferences (getBaseContext())', các ứng dụng khác có thể chỉnh sửa giá trị này không? –
Không, bởi vì 'getDefaultSharedPreferences (Ngữ cảnh bối cảnh)' sẽ cung cấp cho bạn các tùy chọn trong 'Ngữ cảnh.MODE_PRIVATE' (theo http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob ; f = core/java/android/preferences/PreferenceManager.java; h = e44a0907d20916613f02843291deef9483433052; hb = HEAD # l347). Có thể bạn có thể thử một cái gì đó giống như những gì được giải thích trong bài đăng cuối cùng của chủ đề này http://groups.google.com/group/android-developers/browse_thread/thread/6f1a12fffd60a824. Không bao giờ cố gắng bản thân mình, hy vọng nó sẽ giúp anyway. – OcuS