如何在不分叉的情况下创建一个Android项目的黑莓版本?

时间:2013-02-01 02:05:54

标签: android blackberry-10 blackberry-android

Blackberry 10现在接受Android而不是谷歌地图。

基本上我们想将我们的应用程序移植到android并使用不同的技术进行谷歌地图,但我们不想分叉项目。所以我们希望原始项目中其他区域的所有更新都转移到bb项目类的东西(它应该仍然是同一个项目)

所以我想做一些预处理说:(如果是黑莓,请这样做)。有点儿。

有办法吗?

基本上最糟糕的是,我们只是为bb版本摆脱了地图功能。

2 个答案:

答案 0 :(得分:1)

您可以在常量类中创建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,但如果导出条形码(Blackberry),则将其设置为true

答案 1 :(得分:1)

首先,我想说有可能有一个支持android和blackberry的jar文件。例如,如果您有从web和黑莓应用程序中获得的Web服务,则可以将http请求+ xml解析器隔离到单独的jar文件中。它是可能的,我已经成功地完成了它。

android和blackberry(java部分)之间存在细微差别。 Blackberry有时是Android版本的一个版本,所以你需要添加一些注释来支持你在黑莓上的代码。你需要将你的android中的java类分离到一个单独的项目中。我还隐约记得你需要删除未使用的导入。

总而言之,请继续。您将节省大量时间,并为您的开发人员工作。

不要做“if blackberry”这样做。您将陷入混乱的代码。如果你想“不”支持黑莓,哦,你将会有一个任务在你手中。你也可能不想因为你不能在黑莓上工作该死的东西来束缚你的Android版本。在外面的lib jar中用常见的东西分开项目。多数民众赞成的道路。