开发一个既可以在网络上运行又可以作为Android应用程序运行的Java应用程序?

时间:2012-08-24 22:05:24

标签: java android

我正在开发一款既可以在网络上运行,也可以在applet上运行的游戏,也可以在Android手机上运行,​​作为应用。

是否可以这样做,如果是这样,我需要注意什么才能使其工作(即,如果有任何设置我不应该硬编码,而是根据用户的设备确定它们运行游戏,或者我不应该使用的任何java库?)。

此外,游戏需要接受触摸屏作为Android应用的输入。是否有可能构建到同样的游戏中,它也将作为applet运行?在运行时可能是这样,applet在运行时决定是否使用鼠标或触摸屏作为输入?

3 个答案:

答案 0 :(得分:5)

虽然Android应用程序是用Java编写的,但应用程序框架与applet环绕的框架截然不同。您将无法拥有一个可以作为applet包含的.jar文件并抛出Android设备,因为这不是它的工作方式。

然而,您可能会创建所有游戏逻辑和对象,并将它们与applet代码和Android应用程序共享。您甚至可以将它们放在一个存储库和项目中(尽管它可能必须是一个Android项目,然后您可以将其嵌入到您的应用程序构建脚本中)。

为了解决游戏的不同控件,你可能不得不抽象输入,并让你的游戏/关卡对象回调像userHasPoked(int x,int y)然后拥有applet点击鼠标调用该方法,Android应用程序在触摸时调用它(奇怪的是仍称为onClick)。

我认为这将是漫长的道路,但比重写整个事情要容易得多。它可能看起来像前面的工作量更多,但是一旦你完成了将代码整理到applet和Android应用程序中,你可能“永远”不得不再次触摸该代码并且可以继续添加到游戏中。

我不会低估这项任务,但这听起来像是一项非常有趣的编程练习。祝你好运!

答案 1 :(得分:2)

你开发了什么样的游戏?这可能是开发Javascript游戏的更好方法。

可以将phonegap(cordova)安装到Android设备上。

答案 2 :(得分:1)

让我为你打破这个......

Model - 业务逻辑和数据

View - 显示模型的输出

Controller - 行动已完成。

使用此MVC架构的优势在于,您可以保持相同模型不断更改视图

因此,记住这个想法,您可以为Web App和Android App提供相同的模型,然后分别实现对其的每个视图。