Как создать BlackBerry версию проекта Android без разветвления?

Blackberry 10 теперь принимает Android, но не Google Map.

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

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

Есть ли способ сделать это?

В основном худшее становится хуже, мы просто избавляемся от функции карты для версии bb.

2 ответа

Решение

Для начала я хотел бы сказать, что возможно иметь jar-файл, который поддерживает как Android, так и BlackBerry. Например, если у вас есть веб-сервисы, которые вы используете в своем приложении для Android и BlackBerry, вы можете изолировать парсеры http request + xml в отдельный файл jar. Это возможно, и я успешно сделал это.

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

В общем, все возможно, идти вперед. Вы сэкономите много времени и будете работать на своих разработчиков.

Не делайте "если ежевика" делать это. Вы попадете в беспорядок на коде. И если вы когда-нибудь захотите "не" поддерживать Blackberry, о, у вас будет задача в ваших руках. Вы также можете не захотеть связывать свой выпуск Android только потому, что вы не можете заставить эту чертову штуку работать на blackberry. Отдельные проекты с общими вещами в банке снаружи. Это способ пойти чувак.

Вы можете создать boolean значение в классе констант:

public class Constants{

public static boolean isForBlackberry = true;

}

и тогда вы можете оперировать этим. Так что если вы хотите что-то сделать с картой, вы можете проверить это так:

if(!Constants.isForBlackberry){
// open up a map
}
else{
// don't open up a map, do something else instead
}

Теперь каждый раз, когда вы экспортируете apk(Android), вы устанавливаете свой boolean значение для false, но если вы экспортируете файл bar(Blackberry), вы устанавливаете его на true,

Другие вопросы по тегам