Может ли приложение, основанное на активности, не иметь активности? - PullRequest
1 голос
/ 29 июня 2011

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

Чтобы лучше объяснить мой вопрос, скажем, у меня есть одно действие в проекте библиотеки:

public class LibActivity extends Activity {
 ...
}

А сейчас я создаю приложениеиспользуя этот проект библиотеки.Действительно ли мне нужно создавать

public class AppActivity extends LibActivity {
 // totally empty!
}

Только для того, чтобы приложение имело свою собственную активность, на которую должны ссылаться его собственные AndroidManifest.xml?

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

Ответы [ 2 ]

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

Вот полный ответ:

Да, приложение на основе действий не должно извлекать действие из деятельности библиотеки.Приложение просто использует дословное действие библиотеки, без изменений.

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

Я смог проверить это с помощью AndroidManifest.xml, который идентичен как в библиотеке, так и в приложении.Было бы интересно посмотреть, можно ли устранить эту избыточность.Я поэкспериментирую с этим и сообщу.

ОБНОВЛЕНИЕ: Конечно, можно создать отлично работающее приложение, в котором определена единственная активность в библиотеке и в библиотеке * 1018.* не имеет <application> или <activity>!Это возможно, если в приложении AndroidManifest.xml они есть.

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

Вы можете ссылаться на классы деятельности библиотеки прямо из вашего приложения AndroidManifest.xml. Просто укажите полное имя, например, android:name="com.example.LibActivity"

...