Добавлять больше значений в общие настройки, а не перезаписывать существующие

В моем приложении мне нужно сохранить значения в файле Sharedpreferences RKs_Data без перезаписи существующих данных. Каждый раз, когда я нажимаю «Да» в своем приложении, мне требуются все значения, хранящиеся в «RKs_Data», вместо того, чтобы в файле были указаны последние «имя» и «номер телефона».

Возможно ли это сделать через SharedPreferences? Если да, то как?Если нет, то какой следующий лучший вариант для меня это реализовать?

Например,

Когда я впервые щелкаю один из контактов, например «Брайан», он сохраняет в SharedPreferences имя и телефон как Брайан и 99999299999 с первым сохранением в файле общих настроек «RKS_Data».

Когда я нажимаю на другой контакт, говоря «Моне», мои RKs_Data должны выглядеть так:

Брайан 99999299999Моне 00010000000 и тд ....

Я искал, но везде упоминается только о сохранении, но ничего о добавлении или выполнении каких-либо манипуляций с данными ...

Пожалуйста, руководство ...

Фрагмент как ниже:

-------
   public class RKsContacts_Main extends ListActivity {

    // private ListView listView;
    private List<ContactBean> list = new ArrayList<ContactBean>();
    SharedPreferences sp;
    File Fav_Contacts_file;
    String contact = null;
    List<String>  listOfFavoritePhrases = new ArrayList<String>();

    @SuppressWarnings("deprecation")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.rks_contactslist_main);
        ListView listview = getListView();

        sp = getSharedPreferences("PACKAGE", Context.MODE_PRIVATE);
-------

--------
@Override
            public void onClick(DialogInterface dialog, int which) {

                String serialized = sp.getString("phrases", null);
                listOfFavoritePhrases = new ArrayList<String>(Arrays.asList(TextUtils.split(serialized, ","))); // Line 141

                listOfFavoritePhrases.add(name);
                listOfFavoritePhrases.add(phoneNo);  

                SharedPreferences.Editor   editor = sp.edit();
                editor.putString("phrases",TextUtils.join(",", listOfFavoritePhrases));

                editor.commit();

            }
        });
        alert.show();
    }
--------

LogCat ниже:

07-03 09:00:51.014: E/AndroidRuntime(9574): FATAL EXCEPTION: main
07-03 09:00:51.014: E/AndroidRuntime(9574): Process: com.example.rkscontacts_list, PID: 9574
07-03 09:00:51.014: E/AndroidRuntime(9574): java.lang.NullPointerException
07-03 09:00:51.014: E/AndroidRuntime(9574):     at android.text.TextUtils.split(TextUtils.java:332)
07-03 09:00:51.014: E/AndroidRuntime(9574):     at com.example.rkscontacts_list.RKsContacts_Main$4.onClick(RKsContacts_Main.java:141)
07-03 09:00:51.014: E/AndroidRuntime(9574):     at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
07-03 09:00:51.014: E/AndroidRuntime(9574):     at android.os.Handler.dispatchMessage(Handler.java:102)
07-03 09:00:51.014: E/AndroidRuntime(9574):     at android.os.Looper.loop(Looper.java:136)
07-03 09:00:51.014: E/AndroidRuntime(9574):     at android.app.ActivityThread.main(ActivityThread.java:5017)
07-03 09:00:51.014: E/AndroidRuntime(9574):     at java.lang.reflect.Method.invokeNative(Native Method)
07-03 09:00:51.014: E/AndroidRuntime(9574):     at java.lang.reflect.Method.invoke(Method.java:515)
07-03 09:00:51.014: E/AndroidRuntime(9574):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
07-03 09:00:51.014: E/AndroidRuntime(9574):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
07-03 09:00:51.014: E/AndroidRuntime(9574):     at dalvik.system.NativeStart.main(Native Method)

Ответы на вопрос(3)

Ваш ответ на вопрос