Java 在每次访问应用程序时使用SharedReference将数据追加到数组中
由于SharedPreferes帮助我们存储持久性数据,我在应用程序中使用它来存储少量数据(使用),而我觉得不需要使用SQLite。Java 在每次访问应用程序时使用SharedReference将数据追加到数组中,java,android,arraylist,sharedpreferences,Java,Android,Arraylist,Sharedpreferences,由于SharedPreferes帮助我们存储持久性数据,我在应用程序中使用它来存储少量数据(使用),而我觉得不需要使用SQLite。 我所做的是从用户那里获取一些值并将其存储在ArrayList中。当用户退出应用程序或操作系统终止应用程序并再次启动应用程序时,我希望将新数据添加到上述相同的ArrayList中。 我不知道如何搜索它,但我自己也尝试过并找到了它。 虽然这并没有解决我的问题,但我还是决定问。 编辑:代码段 在单击按钮时向arraylist添加元素 bt.setOnClickListe
我所做的是从用户那里获取一些值并将其存储在ArrayList中。当用户退出应用程序或操作系统终止应用程序并再次启动应用程序时,我希望将新数据添加到上述相同的ArrayList中。
我不知道如何搜索它,但我自己也尝试过并找到了它。
虽然这并没有解决我的问题,但我还是决定问。
编辑:代码段
在单击按钮时向arraylist添加元素
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
place = et.getText().toString();
if(place.length()!=0){
Toast.makeText(getBaseContext(), place + " is scanned.", Toast.LENGTH_SHORT).show();
placeArray.add(place);
CalculateLatLong();
}
else{
Toast.makeText(getBaseContext(),"Enter place to search.", Toast.LENGTH_SHORT).show();
}
}
});
在calculaterallong()中
我想将
placeArray
添加到locationName
由于每次杀死应用程序时,
placeArray
都被初始化为null,因此每次都会有一个新列表,我想将其与locationName
内容合并。我需要通过覆盖活动的onPause状态来做些什么吗?如果是,则如何操作?
谢谢。当您在函数中将列表保存到数据库时,只需在
onResume
方法中添加代码即可。您需要填充placeArray
:
void onResume(){
super.onResume();
TinyDB tinydb = new TinyDB(getContext());
placeArray = tinydb.getListString("locationName"); // This will either return saved list (if saved), or empty list
}
你能把你所做的事情的一些代码记录下来吗?@PerunSS添加了这些代码。。
void onResume(){
super.onResume();
TinyDB tinydb = new TinyDB(getContext());
placeArray = tinydb.getListString("locationName"); // This will either return saved list (if saved), or empty list
}