Jquery mobile PhoneGap如何处理所有HTML CSS和JavaScript内容?

Jquery mobile PhoneGap如何处理所有HTML CSS和JavaScript内容?,jquery-mobile,cordova,Jquery Mobile,Cordova,例如,我构建了一个HTML5 CSS3和JS应用程序。如果我想在Android手机上运行它,我必须将所有这些内容放在assets www文件夹中,然后我必须将cordova.jar导入lib并进行这些更改 public class Test extends DroidGap { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSta

例如,我构建了一个HTML5 CSS3和JS应用程序。如果我想在Android手机上运行它,我必须将所有这些内容放在assets www文件夹中,然后我必须将cordova.jar导入lib并进行这些更改

public class Test  extends DroidGap {

 @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");
    }
但是发生了什么。这个应用程序在哪里运行? phonegap在做什么?
请帮忙

在运行时,PhoneGap通过在设备上实例化浏览器组件来工作。这是一款无铬浏览器,意味着它没有地址栏或前进/后退按钮。最终开发人员的应用程序由加载到浏览器组件中的HTML、JavaScript和CSS组成。PhoneGap提供了一个JavaScript API,允许开发人员代码访问设备功能,默认浏览器中加载的网站当前无法访问这些功能。PhoneGap使用的web视图与本机操作系统使用的web视图相同。在iOS上,这是Objective-C UIWebView类;在Android上,这是Android.webkit.WebView

要想显示web组件,一切都从web视图开始!此webview应该能够加载HTML(本地或远程),并运行Javascript和CSS。所有主要的智能手机都配有XYZWebView,唯一需要注意的是它们之间在HTML/CSS支持方面的差距(正在缩小)

下一步是允许webview中的Javascript代码调用本机代码,反之亦然。所有平台都可以做到这一点,但不幸的是,它们的做法都有所不同

Android - Java objects are marshalled into the webview, and native methods can be called directly.

iOS - Javascript needs to make a call to a URL with a custom scheme (think native://mycall), which is intercepted by the native code.

Windows 8 - The web view exposes a window.external.notify function that Javascript can call at will.

反向桥接通常要容易得多:如果webview公开了一个全局javascript函数,则本机代码可以通过传递任何必需的参数来调用它。诀窍在于调用是否同步,这取决于平台。

web应用程序在本机应用程序内的webview中运行。作为一名web开发人员,PhoneGap为您提供了打包本机应用程序和访问本机API所需的基本结构。