Как создать 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
,