Мне кажется самый тривиальный способ — это тупо сериализовать Java-объекты в файл.
Если нужно больше защиты, то можно делать так:
1) сериализация в файл (бинарный)
2) шифрование файла с помощью, например, AES, в другой файл
3) удаление изначального файла.
При старте приложения оно расшифровывает зашифрованный файл, потом десериализует. В качестве AES ключа можно использовать все что угодно, например MAC-адрес или к чему там есть доступ, лишь бы уникальное для устройства.
Ну и конечно же приложение шифровать прогардом, чтобы было посложнее вытащить эту логику.