Добавлены методы для сохранения/загрузки состояний
This commit is contained in:
parent
768c87eb3b
commit
a8bb640f91
@ -1,11 +1,17 @@
|
|||||||
package com.annimon.everlastingsummer;
|
package com.annimon.everlastingsummer;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
|
import java.io.DataInputStream;
|
||||||
|
import java.io.DataOutputStream;
|
||||||
import java.io.FileDescriptor;
|
import java.io.FileDescriptor;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
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.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
@ -26,6 +32,35 @@ public final class IOUtil {
|
|||||||
return result;
|
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;
|
private static FileInputStream streamForFD;
|
||||||
public static FileDescriptor getFD(String file) throws IOException {
|
public static FileDescriptor getFD(String file) throws IOException {
|
||||||
if (streamForFD != null) streamForFD.close();
|
if (streamForFD != null) streamForFD.close();
|
||||||
|
Loading…
Reference in New Issue
Block a user