Как реализовать несколько экранов в приложении

В настоящее время я работаю над приложением для Android, которое имеет различные сервисные измерения, такие как "сервисный заказ", "планирование маршрута", "фотогалерея" и центральный логин. до сих пор я реализовал каждый "экран" (и под экраном я имею в виду фактически макет экрана) как отдельный класс, который загружает конкретный макет и обрабатывает все слушатели и основные функции, такие как вызов веб-сервисов в потоке, получение ответов и т. д. Я не совсем уверен, что это лучший способ реализовать многоэкранные макеты.

Руководство разработчика Android предлагает использовать отдельные действия для каждого "макета экрана". Однако я сомневаюсь, что это самый эффективный способ ведения дел. Так как мне нужна информация для каждого "макета", которую получает центральный логин (здесь: объект пользователя). Поскольку деятельность (насколько я понимаю) является отдельным потоком, передача и получение информации кажется не очень практичным.

Я хотел бы получить ваши мнения / отзывы об этом и спасибо за любой намек или совет.

Пока что моя структура выглядит так:

  • Деятельность
    • загружает макет входа (res/layout/login.xml с помощью setlContentView)
    • в зависимости от нажатия кнопки другие ресурсы загружаются и инициализируются (означает, что слушатели добавляются и т. д.)

Встречает Питера

2 ответа

Руководства разработчика рекомендуют это по причине. Это самый эффективный способ ведения дел. Вы можете жаловаться на необходимость хранить свои данные, чтобы их можно было передавать из одного вида деятельности в другой, но угадайте, что? Вы разрабатываете приложение для телефона! В любой момент может зазвонить телефон, заставляя пользователя отключиться от вашего приложения. Или пользователь может просто временно выбрать другое приложение. Если ваше приложение вернется на круги своя после переключения обратно и потеряет все данные, пользователь будет явно рассержен.

Не знаю, подойдет ли это для вашего приложения, но другой вариант может заключаться в том, чтобы разделить обработку основных данных на Сервис, и сделать ваше приложение простым интерфейсом пользовательского интерфейса, который взаимодействует с этим сервисом.

Другие вопросы по тегам