Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > iOS > [iPhone, Android] Вопрос про Activity и Task


Автор: XJess 5.7.2011, 19:16
Привет всем!
Допустим, есть приложение под WinCE (полностью на С++) с кучей экранов. Есть главный экран – Home Screen, на нем куча кнопок с картинками (собственно, как Home Screen в iPhone), по клику на кнопке происходит переход на другие экраны с этого экрана. Собственно, это приложение неудачно пытается имитировать интерфейс iPhone. С каждого экрана можно переходить вперед-назад, и еще переходить на другие экраны путем клика на значке в тулбаре вверху экрана.
Насколько я знаю, в Android есть понятие Activity и Task.
Навеяно вот этим:

http://developer.android.com/guide/practices/ui_guidelines/activity_task_design.html
http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle
http://developer.android.com/guide/topics/fundamentals/activities.html

Как я поняла, условный приближенный аналог Activity в iPhone – это UIViewController. Аналога тасков, как такового, в iPhone нет, как я понимаю.

Навеяно также этим:
http://integratingstuff.com/2011/02/27/starting-iphone-development-as-an-android-developer/

Так вот – мне дали странное задание. Заключается оно в том, чтобы реализовать нечто вроде Activity и Task под WinCE6, чтобы проще было портировать под iPhone. Причем, как я понимаю, экраны у них на девайсе ведут себя не все и не всегда одинаково, а кое-где, я подозреваю, не очень похоже на iPhone.
Например,
допустим, есть такая последовательность экранов:

Screen1 -> Screen2 -> Screen3 -> Screen4 -> Screen5 -> Screen3

Это приложение сейчас работает так, что при обнаружении того, что произошел переход на экран, который был до этого в цепочке, удаляется часть цепочки -> Screen4 -> Screen5 и, если нажать кнопку назад на экране Screen3, то произойдет переход на экран Screen2. Скажите, в айфоне можно реализовать что-то подобное или, может, он сам такое делает как-то? Я так поняла, что сам не делает, и нужно делать это все как-то самому руками, так? Я правильно понимаю, что переходы нужно делать с помощью pushViewController?

Или еще есть пример – некоторые экраны вроде как образуют что-то типа Task в Android, но некоторые – нет. Например, допустим, есть такая последовательность экранов:

HomeScreen — > Map -> Layers -> Edit_Layer -> Layer_Name -> некий_другой_Screen

HomeScreen – главный экран (как было сказано выше)
Map – это экран с картой, где показываются точки с координатами, которые откуда-то там берутся (подробностей не знаю)
Layers – это экран слоев (как я понимаю, точки могут располагаться в нескольких слоях), слои можно редактировать
Edit_Layer – экран редактирования слоя
Layer_Name – экран задания имени слоя

Описано примерно как в приложении.

Так вот – экраны Layers, Edit_Layer и Layer_Name образуют что-то вроде таска, а HomeScreen и Map – нет. Причем, после ухода на какой-то другой экран с Layer_Name (допустим), вернуться на Layer_Name уже нельзя.

Это не согласуется с этим:

Цитата

Tasks

A task is the sequence of activities the user follows to accomplish an objective, regardless of which applications the activities belong to. Until a new task is explicitly specified (see "Interrupting the Task"), all activities the user starts are considered to be part of the current task.



Так вот – вопрос – можно ли реализовать что-то типа Activity и Task для WinCE, чтобы облегчить переход на iPhone? Или эта задача не имеет никакого смысла?

При ответе учитывайте, что алгоритмы прохода по окнам в приложении на WinCE в принципе, возможно можно подкорректировать под iPhone, если в нынешнем виде оно не похоже на iPhone.

Кстати, каждый экран у них на WinCE – это класс, который от чего-то там наследуется…

Может, кто-то пытался что-то подобное этих Activity и Task реализовать на WinCE (в инете что-то не нашла)? Для меня это важно. А то даже не знаю, как взяться за все это…

Автор: Bitter 6.7.2011, 10:38
Уф... Краткость - сестра таланта.


Цитата(XJess @  5.7.2011,  19:16 Найти цитируемый пост)
допустим, есть такая последовательность экранов:Screen1 -> Screen2 -> Screen3 -> Screen4 -> Screen5 -> Screen3
Скажите, в айфоне можно реализовать что-то подобное или, может, он сам такое делает как-то? Я правильно понимаю, что переходы нужно делать с помощью pushViewController?


Можно такое реализовать. Да, переходы делаются в NavigationController с помощью методов pushViewController и popViewController, но так же есть метод popToViewController:animated: для перехода сразу к указанному экрану.


Цитата(XJess @  5.7.2011,  19:16 Найти цитируемый пост)
Так вот – вопрос – можно ли реализовать что-то типа Activity и Task для WinCE, чтобы облегчить переход на iPhone? Или эта задача не имеет никакого смысла?


Можно реализовать что угодно. Только не понятно, что такое Task и Activity

Цитата(XJess @  5.7.2011,  19:16 Найти цитируемый пост)
Может, кто-то пытался что-то подобное этих Activity и Task реализовать на WinCE

Может быть, но опять же не понятно что такое Task

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)