Для этого нет основы. Как вы предложили, самый простой способ добиться этого - хранить ваши данные в сериализуемых объектах и сериализовать их в файл, а затем сериализовать обратно в дальнейшем.
Это не сложно, и вы получите большую часть пути. Это также довольно общий характер - вам нужно всего лишь написать несколько строк, чтобы сериализовать и выводить любое количество сериализуемых данных.
Для более сложных вещей, состояние, например, где курсор находился ранее и т. Д., Должно быть помещено в сериализуемый объект, когда пользователь пытается закрыть приложение, и вручную, когда оно загружается,.
... но есть вероятность, что ваши пользователи не будут заботиться о подобных вещах, они, вероятно, просто заботятся о том, чтобы данные вернулись к тому, как это было.