Android 如何写入/读取ArrayList<;标记>;归档
我需要将Android 如何写入/读取ArrayList<;标记>;归档,android,google-maps,arraylist,google-maps-android-api-2,marker,Android,Google Maps,Arraylist,Google Maps Android Api 2,Marker,我需要将ArrayList写入/读取到文件中。 以下是我迄今为止所做的: 保存列表: private void saveToFile(ArrayList<Marker> arrayList) { try { FileOutputStream fileOutputStream = openFileOutput("test.txt", Context.MODE_PRIVATE); ObjectOutputStream out
ArrayList
写入/读取到文件中。
以下是我迄今为止所做的:
保存列表:
private void saveToFile(ArrayList<Marker> arrayList) {
try {
FileOutputStream fileOutputStream = openFileOutput("test.txt", Context.MODE_PRIVATE);
ObjectOutputStream out = new ObjectOutputStream(fileOutputStream);
out.writeObject(arrayList);
out.close();
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private void保存文件(ArrayList ArrayList){
试一试{
FileOutputStream FileOutputStream=openFileOutput(“test.txt”,Context.MODE\u PRIVATE);
ObjectOutputStream out=新的ObjectOutputStream(fileOutputStream);
out.writeObject(arrayList);
out.close();
fileOutputStream.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
加载列表
private ArrayList<Marker> loadFromFile() {
ArrayList<Marker> savedArrayList = null;
try {
FileInputStream inputStream = openFileInput("test.txt");
ObjectInputStream in = new ObjectInputStream(inputStream);
savedArrayList = (ArrayList<Marker>) in.readObject();
in.close();
inputStream.close();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
return savedArrayList;
}
private ArrayList loadFromFile(){
ArrayList savedArrayList=null;
试一试{
FileInputStream inputStream=openFileInput(“test.txt”);
ObjectInputStream in=新ObjectInputStream(inputStream);
savedArrayList=(ArrayList)在.readObject()中;
in.close();
inputStream.close();
}捕获(IOException | ClassNotFoundException e){
e、 printStackTrace();
}
返回savedArrayList;
}
当我运行代码时,我得到ClassNotFoundException
。
问题是我需要将整个ArrayList
存储为对象。
我找到了一个解决方案,它将标记
分离为lat/long,并将其作为数字写入文本文件,但它不适合我。
我知道,
Marker
类不可序列化
,但如何将其保存为一个整体对象?看起来使用SQLite数据库会是一个更好的选择。@DanielNugent这不是意味着我必须将Marker
分为属性吗?拉/长等等?