Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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
Java 应用程序结束后,如何将数据存储在阵列中?_Java_Android_Arraylist_Persistent - Fatal编程技术网

Java 应用程序结束后,如何将数据存储在阵列中?

Java 应用程序结束后,如何将数据存储在阵列中?,java,android,arraylist,persistent,Java,Android,Arraylist,Persistent,我正在开发一个Android应用程序,我需要在ArrayList favoriteStores中添加一些Store对象。问题是,我希望在关闭应用程序后此列表保持不变,因为我的收藏商店列表必须保留在那里,直到我选择删除其中的特定项目。有人知道我可能使用什么类型的实现吗?提前感谢,您可以使用类似SQLite的数据库,也可以使用一些序列化技术。还有一个与序列化相关的问题 可以找到有关在Android中存储数据的一般信息。您可以使用类似SQLite的数据库,也可以使用一些序列化技术。还有一个与序列化相关

我正在开发一个Android应用程序,我需要在ArrayList favoriteStores中添加一些Store对象。问题是,我希望在关闭应用程序后此列表保持不变,因为我的收藏商店列表必须保留在那里,直到我选择删除其中的特定项目。有人知道我可能使用什么类型的实现吗?提前感谢,

您可以使用类似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();
}
}
希望这有帮助