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

1

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

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

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

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

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

здоровается  Питер

Теги:
screens

2 ответа

3

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

  • 0
    Спасибо за отзыв, так что вы бы рекомендовали хранить эти данные на телефоне, а не передавать их от активности к активности? Здесь вы получили правильное замечание, поэтому, даже если я передам данные из активности в activty, они будут потеряны, если приложение будет прервано ... поэтому мне нужно сохранить их на телефоне (так как я не хочу, чтобы пользователь входить каждый раз, когда приложение прерывается)
  • 0
    Зависит от того, как долго вы хотите, чтобы это было вокруг. Если вы сохраните его в SharedPreferences, он будет рядом даже после того, как пользователь перезагрузит телефон. Вроде хорошо. Но нет ничего страшного в том, чтобы просто передать это намерением - этого достаточно, чтобы справиться с обычными случаями (включая изменение ориентации телефона).
0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню