package com.bigfat.guessmusic.util;
import android.content.Context;
import com.bigfat.guessmusic.constant.Constant;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* @author <a href="mailto:fbzhh007@gmail.com">bigfat</a>
* @since 2015/2/9
*/
public class DataUtil {
public static final String TAG = "DataUtil";
/**
* 存储游戏信息
*
* @param context 上下文对象
* @param stageIndex 当前关卡索引,因为初始化关卡时会将关卡索引+1,所以存储时要先-1
* @param coins 金币数
*/
public static void saveData(Context context, int stageIndex, int coins) {
FileOutputStream fos = null;
try {
fos = context.openFileOutput(Constant.FILE_NAME_SAVE_DATA, Context.MODE_PRIVATE);
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(stageIndex);
dos.writeInt(coins);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 读取游戏数据
*
* @param context 上下文对象
* @return 游戏数据
*/
public static int[] loadData(Context context) {
int[] data = {-1, Constant.TOTAL_COINS};//游戏数据默认值
FileInputStream fis = null;
try {
fis = context.openFileInput(Constant.FILE_NAME_SAVE_DATA);
DataInputStream dis = new DataInputStream(fis);
data[Constant.INDEX_SAVE_DATA_STAGE] = dis.readInt();
data[Constant.INDEX_SAVE_DATA_COIN] = dis.readInt();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return data;
}
}