Добавлены методы для сохранения/загрузки состояний
This commit is contained in:
parent
768c87eb3b
commit
a8bb640f91
@ -1,11 +1,17 @@
|
||||
package com.annimon.everlastingsummer;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.os.Environment;
|
||||
@ -26,6 +32,35 @@ public final class IOUtil {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<SaveInfo> listSaves(Context context) {
|
||||
final String[] fileslist = context.fileList();
|
||||
final List<SaveInfo> saves = new ArrayList<SaveInfo>(fileslist.length);
|
||||
for (String filename : fileslist) {
|
||||
try {
|
||||
saves.add(readSaveInfo(context, filename));
|
||||
} catch (IOException ioe) {
|
||||
if (Logger.DEBUG) Logger.log("listSaves: " + filename, ioe);
|
||||
}
|
||||
}
|
||||
return saves;
|
||||
}
|
||||
|
||||
public static SaveInfo readSaveInfo(Context context, String filename) throws IOException {
|
||||
final InputStream is = context.openFileInput(filename);
|
||||
final DataInputStream dis = new DataInputStream(is);
|
||||
final SaveInfo result = SaveInfo.readFromStream(dis);
|
||||
dis.close();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static void writeSaveInfo(Context context, String filename, SaveInfo saveInfo) throws IOException {
|
||||
final OutputStream os = context.openFileOutput(filename, Context.MODE_PRIVATE);
|
||||
final DataOutputStream dos = new DataOutputStream(os);
|
||||
saveInfo.writeToStream(dos);
|
||||
dos.flush();
|
||||
dos.close();
|
||||
}
|
||||
|
||||
private static FileInputStream streamForFD;
|
||||
public static FileDescriptor getFD(String file) throws IOException {
|
||||
if (streamForFD != null) streamForFD.close();
|
||||
|
Loading…
Reference in New Issue
Block a user