Как реализовать несколько экранов в приложении - PullRequest
1 голос
/ 21 декабря 2010

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

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

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

Пока моя структура выглядит следующим образом:

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

Приветствие Питера

Ответы [ 2 ]

3 голосов
/ 21 декабря 2010

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

0 голосов
/ 21 декабря 2010

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

...