Android, неограниченное количество действий в проекте и жизненный цикл действий! - PullRequest
3 голосов
/ 04 июня 2011

Несколько дней назад я опубликовал свое приложение в Android Marketplace, и у меня возник вопрос при проектировании и разработке приложения. Этот вопрос касается ограничения или ограничения количества видов деятельности.

Например, моя заявка включает в себя 37 видов деятельности. Это так много? Я хочу знать, для такой игры, как "Angry Birds", которая имеет более 200 уровней, она имеет 200 действий? !!

Мой следующий вопрос: предположим, что я разрабатываю приложение, которое включает в себя 100 действий. Пользователь запускает приложение и переходит к последнему занятию (например, чтению книги). Если пользователь хочет закрыть приложение, что он должен делать? 100 раз нажать клавишу назад на своем устройстве ?! Если я хочу поместить кнопку закрытия (чтобы помочь пользователю) в меню параметров, нужно ли повторять это для каждого действия? потому что, насколько я знаю, у каждого вида деятельности есть свое меню.

Если я поместил кнопку закрытия в последнее действие и пользователь нажал на нее, программа закроется. Что будет с другими 99 мероприятиями? они все еще существуют в стеке? или Когда я закрою приложение, все действия, связанные с этим пакетом, будут удалены из стека.

Я прочитал страницу действий, опубликованную Android , но не смог найти свои ответы.

Извините, если вышеуказанные вопросы - глупые вопросы :) Спасибо

Ответы [ 4 ]

2 голосов
/ 04 июня 2011

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

Что касается того, как обрабатывать сотни загруженных операций, прежде всего, очень вероятно, что система перезапустит старые в нижней части стека, прежде чем вы перейдете к 100-му действию. Если нет, то да, ваш пользователь должен будет вернуться через 100 действий.

Если вы хотите изменить поведение кнопки «Назад», вы можете переопределить onKeyDown ().

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

1 голос
/ 04 июня 2011

Ну, во-первых, что касается angrybirds, я думаю, что оно написано почти полностью в OpenGL ES, так что оно состоит только из нескольких действий.

И, во-вторых, если у вас действительно 200 действий, вам следуетвероятно, подумайте о деятельности, которую можно использовать несколько раз.Например, зачем вам нужно одно упражнение для каждой страницы книги, если каждая страница должна иметь одинаковый вид и функции?Просто запустите намерение с дополнительными данными, и оно должно работать.И, чтобы закрыть приложение, вы можете просто нажать кнопку домой :-)

1 голос
/ 04 июня 2011
0 голосов
/ 15 июля 2011

В приложении, подобном Angry Birds, вероятно, есть одно действие с представлением OpenGL ES, при этом весь интерфейс, связанный с RelativeLayout

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

...