私は Android アプリに取り組んでおり、File オブジェクトを sharedPrefs に追加するのに問題があります。add メソッドと getAll メソッドがありますが、sharedPref に追加しようとしても何も追加されないようです。
public static ArrayList<File> getAll(Context context) {
ArrayList<File> files = new ArrayList<File>();
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
String str = pref.getString("files", null);
if (str == null) return files;
String[] shortcuts = str.split(",");
for (String s : shortcuts) {
if (s == null || s.trim().isEmpty()) continue;
files.add(new File(s));
}
return files;
}
public static void add(Context context, File f) {
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
ArrayList<File> files = getAll(context);
files.add(f);
String toSet = "";
for (File file : files) {
toSet += file.getAbsolutePath() + ",";
}
pref.edit().putString("files", toSet).commit();
}
Fragment からメソッドを呼び出します。
Shortcuts.add(getActivity(), adapter.getItem(i));
Shortcuts.getAll(getActivity());