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

Cli*_*ote 4 java android

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

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

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

xba*_*esx 5

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

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

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

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

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