0

我开发了一个通过小程序在所有浏览器下运行的 Web 应用程序(核心是用 c 编写的)。

现在,我计划为 android 开发相同的应用程序,但 android 不支持 Java Applets,我想通过浏览器调用我的应用程序,所以我必须使用 applet 或 ActiveX 来调用我的应用程序,但两者都不被 Android 支持,你呢?对如何做到这一点有任何想法吗?

4

3 回答 3

1

我怕你一个人在这里。如果您希望至少与不同的 android 设备和版本有一些兼容性,您的选择是

  • 本机 android 应用程序(在 java 中更好,而不是 NDK - 完全访问平台功能,兼容性取决于您的技能)
  • 浏览器中的跨平台javascript(对android功能和硬件的访问受限,加载缓慢和兼容性取决于跨平台工具包提供商的技能)

支持在浏览器中执行任意二进制代码是安全噩梦,并且不会在大多数 android 下的浏览器上发生

于 2012-09-14T09:47:53.873 回答
1

Android 浏览器不支持小程序。我相信没有移动浏览器可以。与 iOS 或 Windows Phone 不同,Android 确实有一个 Java VM,但它既不是二进制文件,也不是与 Sun 兼容的 API。

例如,Android 引入了完全不同的布局模型和一组不同的 UI 小部件。

因此,您别无选择,只能从头开始编写 Android 应用程序。幸运的是,Android 使用标准 JNI,因此您有很好的机会重用您的 C 代码(您需要使用 Android NDK 编译它)。

Android 使用一种复杂的跨应用程序交互机制,称为 Intents。这些允许已安装的应用程序注册以处理某些类型的 URL。这就是 Android 浏览器中的链接如何调用 YouTube 应用程序来全屏播放视频。您的网页可以使用类似的机制从浏览器切换到您的专用应用程序,并且返回原始网页也可以自然处理。

另请注意,您的应用程序可以使用 Web 视图显示 HTML 页面 - 作为应用程序的一部分安装的本地内容,或从任意网站检索的动态内容。此视图使用完整的浏览器引擎,包括 javascript,并且可以与您的 Java 代码交互,但不能使用与 javascript 与 applet 交互的 API 相同的 API。

于 2012-09-14T17:48:52.167 回答
0

根据您的代码编写本机应用程序或使您的应用程序更服务器端或 Web 应用程序和删除小程序

于 2012-09-14T09:47:14.843 回答