So, I've got some *very* minor experience in Java, and I'm trying to learn/work on an android project. The issue I'm having is wrapping my head around saving/retrieving user data.

Its a simple marking app(its mostly for myself) but basically there is a semester object, which contains classes objects, which contains markable objects (i.e tests each with their own weightage).

So basically what I'm asking is how would I go about retrieving data.. What I really want is to display "Oh hey, this is your mark for the current semester:" when you open up the main activity/start the app (which would involve loading up the semester object which the user has entered their data into and calling up a method), but I don't know how I would open/save the objects each time the app is opened and closed. 

Would I implement serialization in the semester class, or would I save/open up the object whenever I close/open the app. Is saving the semester object even the right approach? 

I've been searching for a while and I've seen questions about people opening files and I'm pretty lost right now. 

(Oh and while I'm on the topic of this project, is the idea of nesting objects a bad approach? Like having a semester object which contains multiple class objects, each which contains multiple markable objects)