-1

I am trying to use shared prefs.

I have created a class for that-

package com.bscheme.linkkin.utils;

import android.content.Context;
import android.content.SharedPreferences;
import com.bscheme.linkkin.R;

public class SharedDataSaveLoad {

    public static void save(Context context, String key, String value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(context.getResources().getString(R.string.preference_file_key),Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString(key, value);
        editor.commit();
    }
    public static void save(Context context,String key, int value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(context.getResources().getString(R.string.preference_file_key),Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putInt(key, value);
        editor.commit();
    }

    public static String  load(Context context, String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(context.getResources().getString(R.string.preference_file_key), Context.MODE_PRIVATE);
        return sharedPreferences.getString(key, "");
    }
    public static int loadInteger(Context context,String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(context.getResources().getString(R.string.preference_file_key), Context.MODE_PRIVATE);
        return sharedPreferences.getInt(key, 0);
    }

    public static void remove(Context context,String key){
        SharedPreferences sharedPreferences = context.getSharedPreferences(context.getResources().getString(R.string.preference_file_key),Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.remove(key);
        editor.commit();
    }


}

And I have a fragment called- KindomFragment.java

And using the helper class SharedDataSaveLoad.class in KindomFragment.java like this-

SharedDataSaveLoad.save(
                        KindomFragment.this,
                        getResources().getString(R.string.shared_pref_key_kingdom_last_updated),
                        String.valueOf(System.currentTimeMillis())
                       );

And I am getting this-

enter image description here

Can anyone please help?

Thanks in advance for helping :) .

Abrar Jahin
  • 13,970
  • 24
  • 112
  • 161

1 Answers1

5

You need to post Context as 1st param

SharedDataSaveLoad.save(
                                        getActivity(),
                                        getResources().getString(R.string.shared_pref_key_kingdom_last_updated),
                                        String.valueOf(System.currentTimeMillis())
                                    );
gio
  • 4,950
  • 3
  • 32
  • 46