小编Ram*_*lla的帖子

将更多值附加到"共享首选项",而不是覆盖现有值

在我的应用程序中,我需要将值保存到Sharedpreferences文件RKs_Data中,而不会覆盖现有数据.每次,我在我的应用程序中单击"是",我需要存储在"RKs_Data"中的所有值,而不是仅将最新的"name"和"phoneNo"输入到文件中.

  1. 是否可以通过SharedPreferences这样做?如果有,怎么样?
  2. 如果没有,那么下一步更好的选择是什么呢?

例如,

  • 当我第一次单击其中一个联系人(如'Brian')时,它会在SharedPreferences中将名称和手机保存为Brian和99999299999,并在共享首选项文件'RKS_Data'中保存第一个
  • 当我点击其他联系人说'Monet'时,我的RKs_Data应该如下所示:

    1. Brian 99999299999
    2. 莫奈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, ","))); // …
Run Code Online (Sandbox Code Playgroud)

android sharedpreferences

2
推荐指数
1
解决办法
6504
查看次数

标签 统计

android ×1

sharedpreferences ×1