如何使用sharedpreferences将所有地址值存储在单个键中

时间:2015-09-05 11:12:40

标签: java android

我在地址页面中有7个字段。 我想使用SharedPreference将所有字段值存储在单个键中。我知道如何存储单个值..我不知道如何存储所有值。

我的代码在这里:

SharedPreferences shared = getActivity().getSharedPreferences("tagAddress", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
editor.putString(text, line1.toString());
editor.commit();

请帮帮我

提前致谢!!

3 个答案:

答案 0 :(得分:1)

由于line1EditText,您应该使用line1.getText().toString()并在单个条目中存储多个值,您可以这样做:

editor.putString(text, line1.getText().toString() + "|||" + line2.getText().toString() + "|||" + ...);

然后得到:

String[] values = shared.getString(text,"").split("\\|\\|\\|");

答案 1 :(得分:1)

你必须尝试在arraylist中的ArrayList存储中添加数据然后发送数据 就像你可以将数据访问到不同的类一样..

ArrayList<string> listdata = new ArrayList<String>();

listdata.add(str1);
listdata.add(str2);

.....如此

然后存储在像这样的共享prefrence

SharedPreferences shared = getActivity().getSharedPreferences("tagAddress",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
editor.putString("listdata", listdata.toString());
editor.commit();

并访问另一个具有相同键“listdata”的类

import android.preference.PreferenceManager;

SharedPreferences prefs = referenceManager.getDefaultSharedPreferences(this);
prefs.getBoolean("listdata", true);

答案 2 :(得分:0)

使用sqlite数据库代替。当然,它更复杂。但它值得任何努力。相信它。另外,SharedPreferences需要很多内存空间。所以这个课程有点用处 变量,不是数组!

我发现了一个很好的教程。有用 http://hmkcode.com/android-simple-sqlite-database-tutorial/