【发布时间】:2017-01-19 20:38:48
【问题描述】:
我想从用户那里保存 15 个数组列表和 10-15 个 int 值。我可以使用 sharedpreferences 还是应该使用 sqlLite ?我不想使用 SqlLite,你能帮帮我吗?
【问题讨论】:
标签: android arraylist sharedpreferences
我想从用户那里保存 15 个数组列表和 10-15 个 int 值。我可以使用 sharedpreferences 还是应该使用 sqlLite ?我不想使用 SqlLite,你能帮帮我吗?
【问题讨论】:
标签: android arraylist sharedpreferences
你可以使用任何你想要的东西。问题是以您想要的方式访问数据是多么容易。 SharedPreferences 使读取和写入值变得容易。 SQL 使读取和写入值变得更加困难,但使搜索、表达关系和约束数据变得更加容易。使用对你有意义的东西。
【讨论】:
您不能将ArrayList 设置为SharedPreferences。 SharedPreferences 用于小数据。
您必须像这样创建一个扩展 SQLiteOpenHelper 的类:
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("YOUR QUERY TO CREATE YOUR TABLE");
}
这是一个如何在表格中插入值的示例:
public void insertListData(List<Data> dataList) {
super.open();
ContentValues values;
for (int i = 0; i < dataList.size(); i++) {
values = new ContentValues();
values.put("COLUMN", dataList.get(i).getData());
... //all values that you have
getBdd().insert("YOUR_TABLE, null, values);
}
super.close();
}
祝你好运!
【讨论】:
String myString = new JSONObject().put("JSON", "Hello, World!").toString();
print(myString);
它产生字符串{"JSON": "Hello, World"}。
只需通过创建 JSON 对象来保存价值并在需要时对其进行解析。您必须创建一个 JSON 对象并将数组列表保存在 JSON 数组中,然后将其保存为共享首选项。
【讨论】: