Есть ли у вас контроль над серверной стороной, или это универсальный почтовый клиент? Если вы можете контролировать серверную часть, я бы сделал что-то вроде аутентификации, а затем попросил бы сервер сгенерировать UUID и сохранить его локально для будущих вызовов API. Другая идея заключается в том, чтобы посылать хэш пароля для вызовов API вместо действительного пароля, тогда вы можете хранить только хэш пароля локально.
Проблема с шифрованием имени пользователя / пароля заключается в том, что ваш код должен иметь возможность расшифровывать его, и, если ваш код может расшифровать его, кто-то может пересмотреть ваш код и сделать это, хотя вы можете сделать это проще / сложнее от того, как вы кодируете и упаковываете его.
Как только вы выясните, ЧТО вы храните, вы можете понять, как вы храните его. Один аккаунт? Общие префы. Несколько аккаунтов? Создайте Sqlite DB.
Я бы предложил использовать http://ormlite.com/ для обработки ваших соединений с БД. Я проделал большую часть первоначальной работы над портом Android, и теперь он был улучшен / поддержан группой хакеров высшего уровня. Очень солидный материал.
Другие сообщения в блоге Sqlite:
http://www.touchlab.co/blog/single-sqlite-connection/
http://www.touchlab.co/blog/android-sqlite-locking/