Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 检索以前的输入_Android_Android Intent - Fatal编程技术网

Android 检索以前的输入

Android 检索以前的输入,android,android-intent,Android,Android Intent,我目前正在从事一个项目,该项目要求我输入并存储用户的输入。有什么方法可以让我检索以前的记录而不是当前的记录 代码 结果页 您可以使用SharedReferences来存储用户输入或统计信息等信息,直到显式删除为止,而不是写入文件。即使您关闭应用程序并重新打开,您使用SharedReferences保存的信息仍将保留 选择的答案是为SharedReference创建帮助器类的一个很好的示例,该类允许您轻松地保存、检索和删除信息 假设您想要保存一个int值 如果助手类中的保存和检索方法为: publ

我目前正在从事一个项目,该项目要求我输入并存储用户的输入。有什么方法可以让我检索以前的记录而不是当前的记录

代码 结果页
您可以使用SharedReferences来存储用户输入或统计信息等信息,直到显式删除为止,而不是写入文件。即使您关闭应用程序并重新打开,您使用SharedReferences保存的信息仍将保留

选择的答案是为SharedReference创建帮助器类的一个很好的示例,该类允许您轻松地保存、检索和删除信息

假设您想要保存一个int值

如果助手类中的保存和检索方法为:

public void saveAmount(String key, int amount) {
    _prefsEditor.putInt(key,amount);
    _prefsEditor.commit();
}
public int getAmount(String key) {
    return _sharedPrefs.getInt(key,0); //returns 0 if nothing is found
}
您有一个整数数组列表,如下所示:

ArrayList<int> arrayList = new ArrayList<int>();
arrayList.add(123);
arrayList.add(231);
arrayList.add(312);   //These are just placeholder values.
然后,您可以创建一个循环来检索:

ArrayList<int> arrayList = new ArrayList<int>();
.
.
.
for(int i = 0; i < _appPrefs.getLength(); i++) {
    arrayList.add(getAmount("" + i));
}
ArrayList ArrayList=new ArrayList();
.
.
.
对于(int i=0;i<_appPrefs.getLength();i++){
arrayList.add(getAmount(“+i”);
}

是的,你可以使用sharedpreferencei我使用过saveAsText,但我不确定它如何显示以前的记录你可以发布你的代码吗?所以我可以解释,但SharedReferences不是只保存您最后的用户输入吗?如中所示,如果您将姓名输入为:User,则当您再次启动应用程序时,该姓名已为您键入,但您可以对其进行编辑?您可以使用列表或哈希映射将多个用户输入存储在SharedReference中。您需要创建一个for循环,用适当的键将哈希映射中的每个值保存到共享首选项中,然后创建另一个for循环,从共享首选项检索所有内容并重新创建哈希映射。然后你需要做的就是保存另一个值,把它添加到你的散列图中。有没有类似的帖子可以展示你所说的或任何例子?我需要推荐人。我是android新手,抱歉:\n编辑了我的问题,以包含使用ArrayList的示例。使用hashmap应该类似,但需要对键进行一些调整。如果您想使用HashMap,也许可以使用时间戳。
ArrayList<int> arrayList = new ArrayList<int>();
arrayList.add(123);
arrayList.add(231);
arrayList.add(312);   //These are just placeholder values.
private AppPreferences _appPrefs;
.
.
.
for(int i = 0; i < arrayList.size(); i++) {
    _appPrefs.saveAmount(i,arrayList.get(i));
}
public void saveLength(int length) {
   _prefsEditor.putInt("length", length);
   _prefsEditor.commit();
}
public int getLength() {
   return _sharedPrefs.getInt("length",0);
}
ArrayList<int> arrayList = new ArrayList<int>();
.
.
.
for(int i = 0; i < _appPrefs.getLength(); i++) {
    arrayList.add(getAmount("" + i));
}