Преобразование приложения Android в приложение Blackberry

Я провел некоторое исследование и, похоже, не могу найти конкретный ответ, который ищу.

Есть приложение для Android, которое я хотел бы скомпилировать и запустить на Blackberry. Я «взломал» приложения на обеих платформах, но я никогда не переносил приложение с одной платформы на другую. Я знаю, что API очень разные, и большинство из них нужно будет перекодировать, но, поскольку я хакер, мне нужна отправная точка. Я надеюсь просто взять исходный код Android и скомпилировать его для Blackberry. Я знаю, что это не сработает из-за некоторых элементов интерфейса, но я не знаю, с чего начать для этих элементов. Итак, мой вопрос таков: каковы основные различия между Android SDK и Blackberry SDK в отношении проектирования интерфейса? Может ли кто-нибудь указать мне на сравнение (если оно есть) или, если оно будет достаточно быстрым, может кто-нибудь выделить его для меня?

Приложение, которое я хочу перенести, - это приложение, написанное Google по адресу: http://code.google.com/p/google-tv-remote/ Это приложение для Android. Я просмотрел исходный код, и он выглядит достаточно простым, чтобы попытаться написать новую программу с нуля, используя этот код в качестве основы, но я бы предпочел иметь похожее приложение для начала настройки, а не создавать совершенно новое.

Спасибо за любой совет.


person Will    schedule 09.09.2011    source источник


Ответы (2)


  1. Использует ли приложение какой-либо JNI или прямую манипуляцию с оборудованием? Как пульт от телевизора, думаю, должен (но могу ошибаться). В противном случае вы столкнетесь с трудной или невыполнимой работой, потому что модель безопасности BlackBerry не позволяет ни одно из них.
  2. Различаются не только API, но и базовая ОС и файловые структуры.
  3. BlackBerry использует одну JVM для всех приложений, Android использует JVM для каждого приложения.
  4. BlackBerry Java основана на J2ME с расширениями, где IIRC Dalvik основан на J2SE.

Извините за негатив, но если бы это было легко сделать, в AppWorld было бы больше копий приложений для Android.

person Richard    schedule 09.09.2011
comment
Как программист для обеих платформ, я должен сказать, что Android настолько отличается от BB, что я не буду оптимистично брать исходный код Android и скомпилировать его для Blackberry. Возможно, можно будет использовать некоторые классы, не относящиеся к пользовательскому интерфейсу (например, модели), как есть, но все остальное нужно просто переписать с нуля, используя другие API, подходы, архитектурные решения. - person Vit Khudenko; 10.09.2011
comment
Пункт 1 самый важный. Полностью переписать с нуля ... возможно. На мой взгляд, это не так уж и плохо. Но насколько портативно, это во многом зависит от приложения. - person Prof. Falken; 10.09.2011

Я только что сделал это из a> на сюда, и это было относительно безболезненно. Приложение (а) довольно простое и использует WebView. Единственные реальные отличия, которые я обнаружил, заключались в следующем:

  1. Обратные вызовы JavaScript работают на Android, но не на QNX / BlackBerry 10, поэтому решение было некрасивым - используйте таймауты.
  2. BlackBerry 10 довольно строго придерживается запрета на вызов элементов пользовательского интерфейса извне основного потока, тогда как в Android есть только строгое предупреждение, что вы не должны (и действительно не должны).

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

person Community    schedule 13.07.2013