Java 应用程序结束后,如何将数据存储在阵列中?
我正在开发一个Android应用程序,我需要在ArrayList favoriteStores中添加一些Store对象。问题是,我希望在关闭应用程序后此列表保持不变,因为我的收藏商店列表必须保留在那里,直到我选择删除其中的特定项目。有人知道我可能使用什么类型的实现吗?提前感谢,您可以使用类似SQLite的数据库,也可以使用一些序列化技术。还有一个与序列化相关的问题Java 应用程序结束后,如何将数据存储在阵列中?,java,android,arraylist,persistent,Java,Android,Arraylist,Persistent,我正在开发一个Android应用程序,我需要在ArrayList favoriteStores中添加一些Store对象。问题是,我希望在关闭应用程序后此列表保持不变,因为我的收藏商店列表必须保留在那里,直到我选择删除其中的特定项目。有人知道我可能使用什么类型的实现吗?提前感谢,您可以使用类似SQLite的数据库,也可以使用一些序列化技术。还有一个与序列化相关的问题 可以找到有关在Android中存储数据的一般信息。您可以使用类似SQLite的数据库,也可以使用一些序列化技术。还有一个与序列化相关
可以找到有关在Android中存储数据的一般信息。您可以使用类似SQLite的数据库,也可以使用一些序列化技术。还有一个与序列化相关的问题
可以找到有关在Android中存储数据的一般信息。一篇关于Android中数据存储选项的精彩文章,请仔细阅读并选择最合适的选项。一篇关于Android中数据存储选项的精彩文章,仔细阅读并选择最合适的选项。如果不想将arraylist保存到数据库,可以将其保存到文件。如果您只想保存arraylist而不想接触sqlite,那么这是一个很好的方法 可以使用此方法将arraylist保存到文件
public static <E> void SaveArrayListToSD(Context mContext, String filename, ArrayList<E> list){
try {
FileOutputStream fos = mContext.openFileOutput(filename + ".dat", mContext.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(list);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Object ReadArrayListFromSD(Context mContext,String filename){
try {
FileInputStream fis = mContext.openFileInput(filename + ".dat");
ObjectInputStream ois = new ObjectInputStream(fis);
Object obj= (Object) ois.readObject();
fis.close();
return obj;
} catch (Exception e) {
e.printStackTrace();
return new ArrayList<Object>();
}
}
公共静态void SaveArrayListToSD(上下文mContext、字符串文件名、ArrayList列表){
试一试{
FileOutputStream fos=mContext.openFileOutput(文件名+“.dat”,mContext.MODE_PRIVATE);
ObjectOutputStream oos=新的ObjectOutputStream(fos);
oos.writeObject(列表);
fos.close();
}捕获(例外e){
e、 printStackTrace();
}
}
您可以使用此方法将保存的文件读取到arraylist
public static <E> void SaveArrayListToSD(Context mContext, String filename, ArrayList<E> list){
try {
FileOutputStream fos = mContext.openFileOutput(filename + ".dat", mContext.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(list);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Object ReadArrayListFromSD(Context mContext,String filename){
try {
FileInputStream fis = mContext.openFileInput(filename + ".dat");
ObjectInputStream ois = new ObjectInputStream(fis);
Object obj= (Object) ois.readObject();
fis.close();
return obj;
} catch (Exception e) {
e.printStackTrace();
return new ArrayList<Object>();
}
}
公共静态对象ReadArrayListFromSD(上下文mContext,字符串文件名){
试一试{
FileInputStream fis=mContext.openFileInput(文件名+“.dat”);
ObjectInputStream ois=新ObjectInputStream(fis);
Object obj=(Object)ois.readObject();
fis.close();
返回obj;
}捕获(例外e){
e、 printStackTrace();
返回新的ArrayList();
}
}
希望有此帮助。如果不想将arraylist保存到数据库,可以将其保存到文件。如果您只想保存arraylist而不想接触sqlite,那么这是一个很好的方法 可以使用此方法将arraylist保存到文件
public static <E> void SaveArrayListToSD(Context mContext, String filename, ArrayList<E> list){
try {
FileOutputStream fos = mContext.openFileOutput(filename + ".dat", mContext.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(list);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Object ReadArrayListFromSD(Context mContext,String filename){
try {
FileInputStream fis = mContext.openFileInput(filename + ".dat");
ObjectInputStream ois = new ObjectInputStream(fis);
Object obj= (Object) ois.readObject();
fis.close();
return obj;
} catch (Exception e) {
e.printStackTrace();
return new ArrayList<Object>();
}
}
公共静态void SaveArrayListToSD(上下文mContext、字符串文件名、ArrayList列表){
试一试{
FileOutputStream fos=mContext.openFileOutput(文件名+“.dat”,mContext.MODE_PRIVATE);
ObjectOutputStream oos=新的ObjectOutputStream(fos);
oos.writeObject(列表);
fos.close();
}捕获(例外e){
e、 printStackTrace();
}
}
您可以使用此方法将保存的文件读取到arraylist
public static <E> void SaveArrayListToSD(Context mContext, String filename, ArrayList<E> list){
try {
FileOutputStream fos = mContext.openFileOutput(filename + ".dat", mContext.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(list);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Object ReadArrayListFromSD(Context mContext,String filename){
try {
FileInputStream fis = mContext.openFileInput(filename + ".dat");
ObjectInputStream ois = new ObjectInputStream(fis);
Object obj= (Object) ois.readObject();
fis.close();
return obj;
} catch (Exception e) {
e.printStackTrace();
return new ArrayList<Object>();
}
}
公共静态对象ReadArrayListFromSD(上下文mContext,字符串文件名){
试一试{
FileInputStream fis=mContext.openFileInput(文件名+“.dat”);
ObjectInputStream ois=新ObjectInputStream(fis);
Object obj=(Object)ois.readObject();
fis.close();
返回obj;
}捕获(例外e){
e、 printStackTrace();
返回新的ArrayList();
}
}
希望这有帮助