Вам повезло, все ученики вашего класса уже используют serialzble, поэтому первым делом вы должны сказать, что Lecture - Serializable.
public class Lecture implements Serializable {
public String title;
public String startTime;
public String endTime;
public String day;
public boolean classEnabled;
public Lecture(String title, String startTime, String endTime, String day, boolean enable){
this.title = title;
this.startTime = startTime;
this.endTime = endTime;
this.day = day;
this.classEnabled = enable;
}
Далее вам нужно создать конструктор по умолчанию, так как для этого требуется сериализация. Последнее, что вам нужно, это записать объект в файл. Я обычно использую что-то вроде следующего. Обратите внимание, что это для сохранения игрового состояния, поэтому вы можете не использовать каталог кэша.
private void saveState() {
final File cache_dir = this.getCacheDir();
final File suspend_f = new File(cache_dir.getAbsoluteFile() + File.separator + SUSPEND_FILE);
FileOutputStream fos = null;
ObjectOutputStream oos = null;
boolean keep = true;
try {
fos = new FileOutputStream(suspend_f);
oos = new ObjectOutputStream(fos);
oos.writeObject(this.gameState);
}
catch (Exception e) {
keep = false;
Log.e("MyAppName", "failed to suspend", e);
}
finally {
try {
if (oos != null) oos.close();
if (fos != null) fos.close();
if (keep == false) suspend_f.delete();
}
catch (Exception e) { /* do nothing */ }
}
}
Чтение данных обратно довольно симметрично записи, поэтому я оставил это для этого ответа. Кроме того, в сериализованных объектах все еще есть много предостережений, поэтому я предлагаю вам выполнить поиск в Google и ознакомиться с сериализацией Java в целом.