我有一个使用JAVA以及Blackberry(RIM)特定API编写的Blackberry库。我想将相同的库移植到Android平台,而不进行任何代码更改并使其运行。
在这里,我正在寻找实现它的最佳方式
任何交叉编译器/交叉框架都可用于在Android平台上运行我的Blackberry.Thinking这将使我的工作变得简单;)
请分享您对此的意见。 提前谢谢。
答案 0 :(得分:2)
你做不到。 AFAIK,Blackberry使用J2ME技术(这里可能有问题)。 Android系统完全基于其他原则构建。您必须学习android才能了解如何构建GUI,如何处理后台任务以及存储数据的位置。遗憾。
答案 1 :(得分:2)
如果移植很容易,很多开发人员都会失业。
您不必重写整个应用程序,但肯定必须进行相当多的更改。如果你有一个干净的设计,你可能可以重复使用很多代码。否则会变得更复杂。对于RIM API,首先编写接口类(“RIMXyz实现IntrfXyz”)可能是一个好主意,它具有您使用RIM-API的所有函数调用。然后,您可以使用“AndrXyz实现IntrfXyz”编写Android API类。将RIM依赖的东西放在一个单独的外部库中,并对依赖于android的东西做同样的事情。然后你可以有一个RIM-prj和一个Android-prj,每个只链接到依赖类和可重用的类。这样你可以很好地构建你移植项目。 此外,应用程序的“顶级”端必须更改,因为您必须使用Android中的“activity”类来运行任何内容。这是我看到的两个方面。
我希望这是可以理解的,有点难以用几句话来说...... 我已经开始了一个Android / Java applet的跨平台项目,这就是我做到的。有用。 ; - )
答案 2 :(得分:0)
如果没有重写代码,你就无法做到这一点。如果您可以告诉我们有关您正在使用的RIM API中的类的更多信息,您可能会获得有关Android API中要使用的类的一些具体答案。
答案 3 :(得分:0)
您应该在android api中找到类似的函数来替换RIM API调用并使用例如Abstract Factory设计模式重构您的代码。 (http://sourcemaking.com/design_patterns/abstract_factory)