如何在Android上的片段中使用共享首选项?

use*_*145 3 android facebook sharedpreferences android-fragments

我有一个片段,我想将Facebook ID存储在共享首选项中.我无法在get preference函数中写入private模式.而且我还希望在另一个片段中访问此共享首选项.我怎么能这样做?

这是我的代码......

Session.openActiveSession(getActivity(), true, new Session.StatusCallback()
{
    @Override
    public void call(Session session,
                     SessionState state,
                     Exception exception) {

        if (session.isOpened()) {
            Request.executeMeRequestAsync(session,new Request.GraphUserCallback() {

                @Override
                public void onCompleted(GraphUser user, Response response) {

                    if (user != null) {
                        t = (TextView)rootView.findViewById(R.id.textView2);
                        p = (ProfilePictureView)rootView.findViewById(R.id.profilePictureView1);
                        p.setProfileId(user.getId());
                        s = user.getName();
                        t.setText(s);
                        s1 = user.getId();

                        private void SavePreferences(String key,String value)
                        {
                            SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
                            SharedPreferences.Editor editor = sharedPreferences.edit();
                            editor.putString(key, value);
                            editor.commit();
                        }
Run Code Online (Sandbox Code Playgroud)

kev*_*evz 13

使用Shared PreferencesFragment; 见下文.

先写下SharedPreferences:

SharedPreferences pref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor edt = pref.edit();
edt.putString("facebook_id", id);
edt.commit();
Run Code Online (Sandbox Code Playgroud)

这里的id是包含你所拥有的Facebook id的字符串,0表示private_mode.

第二,阅读存储SharedPreference在另一个中的Facebook ID Fragment:

SharedPreferences pref = getActivity().getPreferences(Context.MODE_PRIVATE);
String id = pref.getString("facebook_id", "empty");
Run Code Online (Sandbox Code Playgroud)

如果facebook_id为null,则返回null为默认值SharedPreference.