Android中的Javascript应用程序

我是Android编程的新手,并且正在寻找一些常识。 我正在考虑在JavaScript中编写我的应用程序的逻辑,以便可以在Web应用程序和桌面应用程序中执行相同的代码。 有可能也有它在Android上工作? 我知道:

  • SL4A被标记为alpha质量,用户将需要安装它来使这样一个应用程序的工作。 它仍然提供对Android API的访问。 就我所知,SL4A脚本也无法进入Android Market。
  • 一个简单的web应用程序不能访问大多数的Android API。

是否有可能编写一个简单的Java应用程序,embedded一个HTML小部件与JavaScript代码,并提供一些包装来访问必要的API?

我不是在寻找一个完全可移植的东西 – 我打算适应手动UI的每个环境。 我只想拥有所有端口共同的内部逻辑。

  • 通过从Android浏览器的JavaScriptredirect打开一个应用程序的谷歌播放详细信息页面
  • 有没有办法在iPad中使用Webkit Inspector远程debugging?
  • JavaScript停用在非活动的android Chrome选项卡中
  • 使用Cordova File Plugin读取文件
  • WebView.loadUrl()中的Android JS
  • 适用于Android Webview的JWPlayer Javascript API
  • 如何检查应用程序是在前台还是在后台
  • HTML5audio行为
  • 如果你想使用JavaScript和访问本机的API,那么你应该尝试Appcelerator.com。 那些人正在提供这个。

    PhoneGap允许您编写基于HTML的应用程序,不仅适用于Android,还适用于iPhone,Windows Phone 7,WebOS等。 API是标准化的,所以你可以在所有的平台上使用相同的页面。

    在大多数平台上支持最常见的本机function。 ( 以下是每个平台上支持的function的图表 )另外,如果您发现有一个function无法仅使用其API进行复制,则可以使用本地平台语言编写插件 (对于Android,也就是Java ),然后从HTML / Javascript页面调用该插件。

    有Rhino ,这是用Java编写的Javascript引擎。 它在Android中起作用,Appcelerator的Titanium使用它在另一个答案中提到。

    用户界面和特定于Android的API可以用Java编写和封装,然后由Javascript编写并由Rhino运行的逻辑代码调用。

    考虑GWT,一个Java到javaScript的编译器。 你可以在普通的旧Java中编写自己的逻辑和很多其他的代码(有些东西(例如reflection),你不能像reflection一样做,但是你不能用javaScipt来完成)Google收件箱正在使用GWT在javaScript中重用大量的代码。 他们不只是重用逻辑。 你可以重用dependency injection,你的架构,AJAX调用等等。 而且,GWT在浏览器和JVM中都比javaScript更快。 使用GWT可能会遇到的最大问题是它更复杂的是javaScript。 普通的Java已经更复杂了。 在JVM和浏览器上工作只能使事情变得更加复杂。 此外,GWT的devise是从极其复杂的networking应用程序。