DmitrySlv, cохранять состояние вьюх и текущий бизнес-стейт можно в бандл(onSaveInstanceState), сохранять какие-то большие данные можно в БД/файлы и использовать паттерн Repository. Никто не пользуется лоадерами в серьёзных проектах, технология изначально ущербная.
Евгений Петров, security through obscurity. Такая себе идея...
Ну ок, значит генерация точно должна быть на сервере, к которому ни у кого нет доступа. Генерируется ключ, отправляется на устройство и там хранится. Поскольку устройство принадлежит держателю карты, это достаточно безопасно.
У приложения есть пользовали, у пользователей есть карты Mifare, которые вы хотите считывать, ключ для всех карт одинаковый? Или как это работает? Опишите подробнее, я думаю, тут никто ради вас не полезет разбираться, что это за карты и как с ними работать.