package com.PP.LunarTabsAndroid.APIs; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import android.os.Environment; import com.PP.LunarTabsAndroid.UI.SerializedParams; public class FileOpAPI { //global storage path public static final String SAVE_PATH_DIR = "/Android/data/com.PP.LunarTabsAndroid/files/"; public static final String SAVE_PATH = Environment.getExternalStoragePublicDirectory(SAVE_PATH_DIR).getPath() + "/"; //temporary files created for playback public static final String TEMP_GP4 = "tmp.gp4"; public static final String TEMP_MID = "tmp.mid"; //model files public static final String GUI_MODEL_FILE = "MOD.tmp"; public static final String STOMPER_MODEL_FILE = "STOMPER_MOD.tmp"; /** * Called to init directory structure. */ public static void init() { File f = Environment.getExternalStoragePublicDirectory(SAVE_PATH_DIR); if(!f.exists()) { boolean created = f.mkdirs(); } } /* * Serialize model to file. */ public static void writeModel(SerializedParams m, String file) { try { String path = SAVE_PATH+file; File f = new File(path); FileOutputStream fOut = new FileOutputStream(f,false); ObjectOutputStream os = new ObjectOutputStream(fOut); os.writeObject(m); os.close(); } catch(Exception e) { e.printStackTrace(); } } public static SerializedParams readModel(String file) { try { String path = SAVE_PATH+file; File f = new File(path); FileInputStream fis = new FileInputStream(f); ObjectInputStream is = new ObjectInputStream(fis); SerializedParams rtn = (SerializedParams) is.readObject(); is.close(); return rtn; } catch(Exception e) { e.printStackTrace(); return null; } } }