Android, сохраняя вид - PullRequest
       22

Android, сохраняя вид

1 голос
/ 20 января 2011

Мое приложение состоит из 2 частей: сетевой части и графического интерфейса.Он работает как браузер - пользователь запрашивает некоторую информацию с сервера, сервер отправляет обратно некоторые данные, представляющие некоторое представление, а затем отображает их в графическом интерфейсе.

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

Это довольно просто, не нужно заново создавать всю иерархию представлений и сохранять все состояния.

Но естьпроблема - я могу создавать представления в контексте службы, я могу хранить их между запусками действий, могу откреплять и повторно связывать представления, когда действие уничтожается и создается?но для некоторых представлений требуется контекст Activity (например, Spinner, который создает всплывающее диалоговое окно).

Итак, есть ли способ изменить контекст представления после создания?

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

1 Ответ

1 голос
/ 21 января 2011

Я твердо верю, что вы не правы с " Я реализовал сетевую часть как службу, которая сама создает и сохраняет все представления. ".

Только Activity предназначен для управления иерархией представлений. Поэтому Activity должен запросить Service (или каким-либо образом уведомить Service) о данных для отображения, а затем просто обновить свои представления. Да, в некоторых случаях это требует управления состоянием, но вы получаете выгоду - он просто работает, как задумано, без всяких взломов. Другими словами - не пытайтесь обмануть ОС, вместо этого старайтесь соответствовать лучшим практикам для Android.

...