我将所选项目保存到共享首选项中,但是在运行时期间用户可以删除任何这些项目(从任何位置),并且当我使用保存的大小(在下面的代码中)循环遍历项目时,这是问题
说我有5件物品(item_1 - item_2 - item_3 - item_4 - item_5)
如果用户删除了item_2,我将chosen_items_size更新为4,并从共享首选项中删除item_2。
但是当我稍后加载项目时,我使用(size =现在为4),如下面的代码中将错过item_5,如何解决这个问题,任何建议或更好的方法来实现我的需求?
mSharedPreference = getSharedPreferences("chosen_items", MODE_PRIVATE);
int size = mSharedPreference.getInt("chosen_items_size", 0);
for(int i = 1; i <= size; i++) {
mSharedPreference.getString("item_" + i, null);
}
知道我想要启用拖放项目,使用上述方法将使得它很难完成(如果可能的话首先),任何更好的方法来保存&amp;检索数据/项目?
谢谢
答案 0 :(得分:3)
如果您有少量字符串,则可以将它们存储在SharedPreferences中的一个分隔字符串中,例如so。您还可以将一些元数据与每个项目相关联,并将其划分。
答案 1 :(得分:2)
您可以使用内置的SQL lite数据库 这些数据必须在会话之间持续存在吗?如果没有在本地存储类和静态变量/数组。