При создании библиотеки Android, какой шаблон можно использовать для поддержки настроенного обратного вызова в Activity - PullRequest
1 голос
/ 15 апреля 2019

Я создаю библиотеку Android для нашей платформы и пытаюсь разрешить моим пользователям передавать функцию, которая вызывается в определенное время в библиотеке.

Библиотека запускает действие, в этом действии есть несколько классов обслуживания, которые указывают на мой https API. (упрощенное, но, надеюсь, этого достаточно)

То, что я хочу предоставить, - это способ для моих пользователей передать обратный вызов, который генерирует токен аутентификации для API, позволяя им генерировать его самостоятельно. Может быть, интерфейс может выглядеть как String getAuthToken().

Но как я могу сделать это без потери состояния в какой-то момент? Я начал с Singleton, когда библиотека запускается (она запускает Intent для основной деятельности библиотеки), но когда процесс завершается, и вы пытаетесь вернуться к нему, то, конечно, приложение вылетает, синглтон был настроен ранее. деятельность началась.

Я упускаю какой-то очевидный шаблон в Java или Android, который решает эту проблему?

1 Ответ

0 голосов
/ 15 апреля 2019

Зачем вам нужен активный контекст в синглтоне?Это выглядит как плохой дизайн для начала.Вам не нужно это делать для сетевых запросов.

Когда вы представляете деятельность, вы берете под контроль все жизненные циклы, которые она включает.Да, андроид воссоздает его, когда вы поворачиваете экран и это вызывает огромную боль в заднице, но для этого вы можете использовать ViewModels :

enter image description here

...