2011-09-09 126 views
1

我一直在做一些研究,我似乎无法找到具体的答案,我正在寻找。转换Android应用程序到黑莓应用程序

有一个应用程序可用于Android,我想在黑莓上编译和运行。我已经在这两个平台上“破解”了应用程序,但我从未将应用程序从一个平台移植到另一个平台。我知道API是非常不同的,其中大部分需要重新编码,但由于我是黑客,我需要一个起点。所以我希望做的就是简单地采用Android源代码并为Blackberry编译。我知道由于某些界面项目这不起作用,但我不知道从哪里开始这些项目。所以我的问题是:Android SDK和Blackberry SDK在界面设计方面的主要区别是什么?有人能指点我比较(如果有的话),或者如果速度够快,有人可以为我突出显示吗?

我正在寻找端口的应用程序是由Google编写的应用程序:http://code.google.com/p/google-tv-remote/这是一个Android应用程序。我已经回顾了源代码,它看起来很简单,试图用这个代码作为基础来从头开始编写一个新程序,但我宁愿有一个类似的外观应用程序来开始自定义,而不是构建一个全新的程序。

感谢您的任何建议。

回答

3
  1. 该应用程序是否使用任何JNI或直接硬件操作?作为电视遥控器,我认为它必须(但我可能是错的)。如果您是否会面临艰难的工作或无法完成的工作,因为BlackBerry安全模型不允许这两种模式。
  2. 这不仅仅是API的不同,底层的操作系统和文件结构是不同的。
  3. BlackBerry为所有应用程序使用单个JVM,Android使用每个应用程序JVM。
  4. BlackBerry Java基于带有扩展的J2ME,其中IIRC Dalvik基于J2SE。

对不起,如果很容易做,那么在AppWorld中会有更多的Android应用程序副本。

+2

作为这两种平台的程序员,我应该说Android与BB完全不同,我不会乐观地认为“简单地采用Android源代码并为Blackberry编译”。也许可以按照原样使用一些非UI类(例如模型),但其余所有其他应该使用其他API,方法和架构解决方案从头开始重写。 –

+1

点1是最重要的。从头开始彻底重写......也许。在我看来,这并不坏。但它取决于应用程序很多,便携式多少。 –

0

我刚从herehere这样做,这是相对无痛的。该应用程序非常简单,并使用WebViews。我发现的唯一真正的区别是:

  1. JavaScript回调在Android上运行,但不在QNX/BlackBerry 10上运行,所以解决方案很糟糕 - 使用超时。
  2. BlackBerry 10对于不从主线程外部调用UI元素非常严格,而在Android中只有一个强烈的警告,你不应该(而你真的不应该)。

对于一个数据点,整个港口不到一天。再次,它是一个简单的应用程序,所以YMMV。