2013-03-12 3 views
0

Сейчас у меня есть 3 проекта:Как сделать облегченный/Pro версии функции приложения немного отличается от ссылочного библиотеки

  1. библиотека со всем моим кодом
  2. Pro пустышкой
  3. Lite пустышкой

Мне нужно, чтобы быть в состоянии сделать четыре вещи:

  1. Изменения int в библиотеке на основе, если пользователь имеет Pro или Lite версии
  2. Изменения в библиотеке long, основанное на, если пользователь имеет профессиональную или облегченную версию
  3. Добавить ads в облегченной оболочке
  4. Измените launch icon. Не знаете, где это поставить. Оставить оба значка вне библиотеки или поместить их в библиотеку?
  5. У меня 2 Google Analytic кодов - один для отслеживания про и другие отслеживать облегченный
  6. У меня в библиотеке есть TextView прямо сейчас, что есть ссылка на про версию. Должен ли я оставить это в библиотеке или просто сделать его невидимым в профи или вынуть его из библиотеки и только иметь его в Lite?

У меня возникли проблемы с поиском хорошего примера того, как настроить код для такого рода вещей. Я просто помещаю логические утверждения где-нибудь в библиотеку или создаю некоторые файлы java/xml в оболочках? Поэтому прямо сейчас пустые проекты pro/lite просто ссылаются на библиотеку, но не имеют баночек, xml-файлов, java-файлов, png или чего-либо еще. Я изменил два типа оболочки AndroidManifest, чтобы быть уникальным для каждого проекта.

+0

Что вы тогда пробовали? Не можете ли вы просто передать параметр, изменяющий режим при инициализации вашей библиотеки из оболочки? (Если вы не можете, вы должны рассмотреть возможность реорганизации библиотеки, чтобы вы могли.) – millimoose

+0

Также, пожалуйста, избегайте вопроса омнибуса. Похоже, это должно быть несколько вопросов, и вы на самом деле не показали, что вы пробовали. – millimoose

+0

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

ответ

1

Как насчет создания Enum?

public enum LibType 
{ 
    PRO(
    0, 
    1L, 
    "PRO" 
), 
    LITE(
    10, 
    20L, 
    "LITE" 
); 

    public final int intVal; 
    public final long longVal; 
    public final String analyticsCode; 

    ... 

    private LibType(
     int intVal, 
     long longVal, 
     String analyticsCode 
    ) 
    { 
    this.intVal = intVal; 
    ... 
    } 
} 
+0

Я раньше не слышал об Enums, поэтому я не знаком с ними, но я расскажу о документах разработчика с этим примером и выясню это. Спасибо, Александр! – Matt