В этом разделе предполагается, что вы уже прошли руководство по Hello World. Вам потребуется преобразовать это в полную реализацию. Он часто ссылается на разделы этого документа, посвященные разработке.
Отключите логику из примера hello world для вашей реальной межпрофильной логики.
Не стесняйтесь вносить беспорядок и пока не беспокойтесь о лучших практиках, таких как тестируемость. Обязательно проверьте, работает ли это!
Это включает в себя изменение межпрофильного класса, межпрофильных вызовов и поставщика. Если вам нужен Context
в методе поставщика или конструкторе класса поставщика, вы можете добавить его в качестве параметра, и SDK автоматически предоставит его.
Вам нужно будет решить, будут ли ваши вызовы асинхронными или синхронными . Вам также следует убедиться, что поддерживаются все типы параметров и возвращаемых значений, используемые вашими межпрофильными вызовами.
Рефакторинг вашей логики, чтобы иметь архитектуру, которую вы могли бы представить
Сначала прочтите каждое из архитектурных предложений , чтобы вам не пришлось выполнять несколько конфликтующих рефакторингов. После того, как вы запланировали какие-либо изменения, просмотрите их и отметьте, перестраивая и тестируя после каждого изменения.
Перепроверьте конфиденциальность и безопасность
Дважды проверьте, что вы не рискуете хранить данные в неправильном профиле или отправлять данные на сервер (включая ведение журнала сервера) из неправильного профиля.
Рассмотрите другие рекомендуемые решения
- Рассмотрите возможность назначения профиля в качестве основного , чтобы упростить звонки. Подумайте, что произойдет, если ваша логика будет запущена в любом из профилей.
- Обновите свой пользовательский интерфейс, когда изменится доступность другого профиля.
- Просмотрите обсуждение исключений на случай, если вам понадобится предпринять какие-либо действия.
- Если вы ожидаете, что пользователи могут использовать значок приложения только в одном из двух профилей, добавьте атрибут манифеста
android:crossProfile = "true"
. Это предотвращает делегирование приложения, не используемого пользователем напрямую, в нижние сегменты резервного приложения.
Добавить тесты
См. документацию по тестированию.
Учитывайте разрешения
Если ваше приложение имеет полное согласие , измените свое разрешение с
INTERACT_ACROSS_USERS
наINTERACT_ACROSS_PROFILES
и реализуйте запрос разрешения у пользователя. Приложения, объявляющиеINTERACT_ACROSS_PROFILES
не могут быть загружены в магазин Play, пока они не внесены в список разрешенных, поэтому это изменение манифеста должно быть за флажком, пока это не будет сделано.Если вашему приложению предоставлен предварительный доступ , вы также можете сделать это, если хотите напоминать пользователям, которые ранее его отключили (но будьте ответственны — не рассылайте пользователям спам).