На мой взгляд должно быть 2 токена: refresh token и access token.
Соответственно, при обновлении логина перекинуть его на страницу входа. И после ввода логина и пароля вернуть на клиент 2 токена и сохранить в localStorage
Я сторонник идеи, что лучше всего учат на работе настоящие проекты с опытными коллегами.
Поэтому будет не такой уж плохой идеей поработать на Java попутно для себя делая проекты под Android, которые потом если надоест Java можно использовать как портфолио при поиске работы в мобильной разработке, а если Java не надоест так и продолжать в ней работать, она никуда в обозримом будущем не денется.
Новичкам там сложнее, обычно к мобильной разработке в Европе приходят опытные разработчики из других сфер.
В конце концов что мешает сделать два проекта самому и сравнить?
То есть, вы предлагаете зашифровывать в токен IDшник пользователя, а не его логин?