开发一个既可以在web上运行又可以作为Android应用程序运行的Java应用程序?
我正在开发一款既可以在网络上作为小程序使用,也可以在Android手机上作为应用程序使用的游戏 这可能吗?如果可能的话,我需要知道什么才能让它起作用(例如,如果有任何设置我不应该硬编码,而是在游戏运行时根据用户的设备确定它们,或者我不应该使用任何java库?)开发一个既可以在web上运行又可以作为Android应用程序运行的Java应用程序?,java,android,Java,Android,我正在开发一款既可以在网络上作为小程序使用,也可以在Android手机上作为应用程序使用的游戏 这可能吗?如果可能的话,我需要知道什么才能让它起作用(例如,如果有任何设置我不应该硬编码,而是在游戏运行时根据用户的设备确定它们,或者我不应该使用任何java库?) 此外,游戏需要接受触摸屏作为Android应用程序的输入。这是可能的,以建立在同一个游戏,也将作为一个小程序运行?可能是这样,在运行时,小程序决定在运行时是使用鼠标还是触摸屏进行输入 尽管Android应用程序是用Java编写的,但应用程
此外,游戏需要接受触摸屏作为Android应用程序的输入。这是可能的,以建立在同一个游戏,也将作为一个小程序运行?可能是这样,在运行时,小程序决定在运行时是使用鼠标还是触摸屏进行输入 尽管Android应用程序是用Java编写的,但应用程序周围的框架与小程序周围的框架截然不同。你将不能有一个.jar文件,你可以把它作为一个小程序,扔向Android设备,因为这不是它的工作方式 不过,您可能可以创建所有游戏逻辑和对象,并将它们与小程序代码和android应用程序共享。您甚至可以将它们放在一个存储库和项目中(尽管它可能必须是一个Android项目,然后插入应用程序构建脚本) 为了解决游戏中不同的控件问题,你可能需要将输入抽象出来,让你的游戏/关卡对象像userHasPoked(int x,int y)一样进行回调,然后让applet在点击鼠标时调用该方法,android应用程序在触摸时调用它(奇怪的是仍然称为onClick) 我认为这将是一条漫长的道路,但要比重写整件事容易得多。这看起来可能需要做更多的前期工作,但一旦你将代码嵌入到applet和Android应用程序中,你就可能“永远”不必再接触这些代码,只需继续添加到游戏中
我不会低估这个任务,但这听起来像是一个非常有趣的编程练习。祝你好运 你开发什么样的游戏?这可能是开发Javascript游戏的更好方法
它可以与(cordova)一起安装到android设备上。让我为您打断一下
模型
-业务逻辑和数据
视图
-模型输出的显示
控制器
-在其上执行操作
使用此MVC
体系结构的优点是,您可以保持相同的模型,并且可以不断更改视图
因此,记住这一点,你可以在Web应用程序和Android应用程序中使用相同的模型,然后分别实现彼此的视图。你的用户名让我强烈地想点击下一票按钮。感谢你没有屈服于这种邪恶的冲动。保持强壮,谢谢。因此,我必须编写的唯一新代码是实际的事件处理程序,而Android和Java的部署过程会略有不同?或者,我是否需要为web和android重新编写代码的其他部分?@ClickUpvote:“因此,我必须编写的唯一新代码是实际的事件处理程序”——不,新代码将是“整个UI”。“Android和Java的部署过程会稍有不同”——我将其描述为“本质上不同”或“不太一样”。我仍然感到震惊的是,在这个时代,甚至有人在运行小程序,更不用说编写它们了。@Commonware那么你认为在浏览器和Android中运行java游戏的更好方法是什么?@ClickUpvote:我质疑“在……浏览器中运行java游戏”的全部优点。据我所见,在Web浏览器中玩的游戏通常是用Flash或HTML/JavaScript实现的。浏览器中唯一比小程序更死气沉沉的是ActiveX控件(好吧,还有
标签)。@commonware我看不出有任何理由不让我的游戏也在web浏览器中运行,为什么我要把自己限制在安卓上。我的问题是,在浏览器中运行java是否有比小程序更好的方法,例如JavaFX或任何更新的技术?