You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by infil00p <gi...@git.apache.org> on 2016/02/11 22:37:20 UTC

[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

GitHub user infil00p opened a pull request:

    https://github.com/apache/cordova-docs/pull/498

    CB-9393: Documenting how to embed a SystemWebView 

    This is designed with Android Studio in mind.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/infil00p/cordova-docs master

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cordova-docs/pull/498.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #498
    
----
commit d9bf99a51dae980a30e55c1510548f6245c05332
Author: Joe Bowser <bo...@apache.org>
Date:   2016-02-11T21:35:56Z

    CB-9393: Documenting how to embed a SystemWebView in an Android Studio project

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by jcesarmobile <gi...@git.apache.org>.
Github user jcesarmobile commented on a diff in the pull request:

    https://github.com/apache/cordova-docs/pull/498#discussion_r52730759
  
    --- Diff: www/docs/en/dev/guide/platforms/android/webview.md ---
    @@ -29,106 +29,73 @@ components can communicate with each other, see Application Plugins.
     If you're unfamiliar with Android, you should first familiarize
     yourself with the [Android Platform Guide](index.html) and have the latest Android
     SDK installed before you attempt the more unusual development option
    -of embedding a WebView.  Starting with Cordova 1.9, the Android
    -platform relies on a `CordovaWebView` component, which builds on a
    -legacy `CordovaActivity` component that pre-dates the 1.9 release.
    +of embedding a WebView.  Starting with Cordova 4.0, the Android
    +platform relies on a `SystemWebView` component.
     
     1. To follow these instructions, make sure you have the latest Cordova
        distribution. Download it from
        [cordova.apache.org](http://cordova.apache.org) and unzip its
        Android package.
     
    -1. Navigate to the Android package's `/framework` directory and run
    -   `ant jar`. It creates the Cordova `.jar` file, formed as
    -   `/framework/cordova-x.x.x.jar`.
    +1. Create a project in Android Studio
     
    -1. Copy the `.jar` file into the Android project's `/libs` directory.
    +1. Copy the framework directory into your project's root directory and name it
    +CordovaLib
    +
    +1. Add that project as a library project to your main project.
     
     1. Add the following to the application's `/res/xml/main.xml` file,
        with the `layout_height`, `layout_width` and `id` modified to suit
        the application:
     
    -        <org.apache.cordova.CordovaWebView
    +        <org.apache.cordova.SystemWebView
                 android:id="@+id/tutorialView"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent" />
     
    -1. Modify the activity so that it implements the `CordovaInterface`.
    -   It should implement the included methods.  You may wish to copy
    -   them from `/framework/src/org/apache/cordova/CordovaActivity.java`,
    -   or else implement them on your own.  The following code fragment
    -   shows a basic application that relies on the interface. Note how
    -   the referenced view id matches the `id` attribute specified in the
    -   XML fragment shown above:
    -
    -        public class CordovaViewTestActivity extends Activity implements CordovaInterface {
    -            CordovaWebView cwv;
    -            /* Called when the activity is first created. */
    -            @Override
    -            public void onCreate(Bundle savedInstanceState) {
    -                super.onCreate(savedInstanceState);
    -                setContentView(R.layout.main);
    -                cwv = (CordovaWebView) findViewById(R.id.tutorialView);
    -                Config.init(this);
    -                cwv.loadUrl(Config.getStartUrl());
    -            }
    +1. Add the following code to setup your Activity so that you have an interface
     
    -1. If the application needs to use the camera, implement the
    -   following:
    +        private CordovaInterfaceImpl iface = new CordovaInterfaceImpl(this);
    +
    +1. Add the following to intialize the WebView
    +
    +        //Set up the webview
    +        ConfigXmlParser parser = new ConfigXmlParser();
    +        parser.parse(this);
    +
    +        SystemWebView webView = (SystemWebView) findViewById(R.id.WebViewComponent);
    --- End diff --
    
    you used the tutorialView id, not WebViewComponent


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by jcesarmobile <gi...@git.apache.org>.
Github user jcesarmobile commented on a diff in the pull request:

    https://github.com/apache/cordova-docs/pull/498#discussion_r52730738
  
    --- Diff: www/docs/en/dev/guide/platforms/android/webview.md ---
    @@ -29,106 +29,73 @@ components can communicate with each other, see Application Plugins.
     If you're unfamiliar with Android, you should first familiarize
     yourself with the [Android Platform Guide](index.html) and have the latest Android
     SDK installed before you attempt the more unusual development option
    -of embedding a WebView.  Starting with Cordova 1.9, the Android
    -platform relies on a `CordovaWebView` component, which builds on a
    -legacy `CordovaActivity` component that pre-dates the 1.9 release.
    +of embedding a WebView.  Starting with Cordova 4.0, the Android
    +platform relies on a `SystemWebView` component.
     
     1. To follow these instructions, make sure you have the latest Cordova
        distribution. Download it from
        [cordova.apache.org](http://cordova.apache.org) and unzip its
        Android package.
     
    -1. Navigate to the Android package's `/framework` directory and run
    -   `ant jar`. It creates the Cordova `.jar` file, formed as
    -   `/framework/cordova-x.x.x.jar`.
    +1. Create a project in Android Studio
     
    -1. Copy the `.jar` file into the Android project's `/libs` directory.
    +1. Copy the framework directory into your project's root directory and name it
    +CordovaLib
    +
    +1. Add that project as a library project to your main project.
    --- End diff --
    
    maybe explain how to do it. I'm familiar with Android, but not so much with Android Studio and I didn't know how to do it. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by riknoll <gi...@git.apache.org>.
Github user riknoll commented on the pull request:

    https://github.com/apache/cordova-docs/pull/498#issuecomment-183097926
  
    Awesome! I'll give this a try when I get a moment.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by infil00p <gi...@git.apache.org>.
Github user infil00p commented on the pull request:

    https://github.com/apache/cordova-docs/pull/498#issuecomment-193884897
  
    Redoing this pull request on a whole new branch, because this one-off is  not going to work with all the changes @jcesarmobile is suggesting.



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by jcesarmobile <gi...@git.apache.org>.
Github user jcesarmobile commented on a diff in the pull request:

    https://github.com/apache/cordova-docs/pull/498#discussion_r52730771
  
    --- Diff: www/docs/en/dev/guide/platforms/android/webview.md ---
    @@ -29,106 +29,73 @@ components can communicate with each other, see Application Plugins.
     If you're unfamiliar with Android, you should first familiarize
     yourself with the [Android Platform Guide](index.html) and have the latest Android
     SDK installed before you attempt the more unusual development option
    -of embedding a WebView.  Starting with Cordova 1.9, the Android
    -platform relies on a `CordovaWebView` component, which builds on a
    -legacy `CordovaActivity` component that pre-dates the 1.9 release.
    +of embedding a WebView.  Starting with Cordova 4.0, the Android
    +platform relies on a `SystemWebView` component.
     
     1. To follow these instructions, make sure you have the latest Cordova
        distribution. Download it from
        [cordova.apache.org](http://cordova.apache.org) and unzip its
        Android package.
     
    -1. Navigate to the Android package's `/framework` directory and run
    -   `ant jar`. It creates the Cordova `.jar` file, formed as
    -   `/framework/cordova-x.x.x.jar`.
    +1. Create a project in Android Studio
     
    -1. Copy the `.jar` file into the Android project's `/libs` directory.
    +1. Copy the framework directory into your project's root directory and name it
    +CordovaLib
    +
    +1. Add that project as a library project to your main project.
     
     1. Add the following to the application's `/res/xml/main.xml` file,
        with the `layout_height`, `layout_width` and `id` modified to suit
        the application:
     
    -        <org.apache.cordova.CordovaWebView
    +        <org.apache.cordova.SystemWebView
                 android:id="@+id/tutorialView"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent" />
     
    -1. Modify the activity so that it implements the `CordovaInterface`.
    -   It should implement the included methods.  You may wish to copy
    -   them from `/framework/src/org/apache/cordova/CordovaActivity.java`,
    -   or else implement them on your own.  The following code fragment
    -   shows a basic application that relies on the interface. Note how
    -   the referenced view id matches the `id` attribute specified in the
    -   XML fragment shown above:
    -
    -        public class CordovaViewTestActivity extends Activity implements CordovaInterface {
    -            CordovaWebView cwv;
    -            /* Called when the activity is first created. */
    -            @Override
    -            public void onCreate(Bundle savedInstanceState) {
    -                super.onCreate(savedInstanceState);
    -                setContentView(R.layout.main);
    -                cwv = (CordovaWebView) findViewById(R.id.tutorialView);
    -                Config.init(this);
    -                cwv.loadUrl(Config.getStartUrl());
    -            }
    +1. Add the following code to setup your Activity so that you have an interface
     
    -1. If the application needs to use the camera, implement the
    -   following:
    +        private CordovaInterfaceImpl iface = new CordovaInterfaceImpl(this);
    +
    +1. Add the following to intialize the WebView
    +
    +        //Set up the webview
    +        ConfigXmlParser parser = new ConfigXmlParser();
    +        parser.parse(this);
    +
    +        SystemWebView webView = (SystemWebView) findViewById(R.id.WebViewComponent);
    +        webInterface = new CordovaWebViewImpl(new SystemWebViewEngine(webView));
    --- End diff --
    
    Youd didn't create the webInterface variable before.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by jcesarmobile <gi...@git.apache.org>.
Github user jcesarmobile commented on a diff in the pull request:

    https://github.com/apache/cordova-docs/pull/498#discussion_r52730725
  
    --- Diff: www/docs/en/dev/guide/platforms/android/webview.md ---
    @@ -29,106 +29,73 @@ components can communicate with each other, see Application Plugins.
     If you're unfamiliar with Android, you should first familiarize
     yourself with the [Android Platform Guide](index.html) and have the latest Android
     SDK installed before you attempt the more unusual development option
    -of embedding a WebView.  Starting with Cordova 1.9, the Android
    -platform relies on a `CordovaWebView` component, which builds on a
    -legacy `CordovaActivity` component that pre-dates the 1.9 release.
    +of embedding a WebView.  Starting with Cordova 4.0, the Android
    +platform relies on a `SystemWebView` component.
     
     1. To follow these instructions, make sure you have the latest Cordova
        distribution. Download it from
        [cordova.apache.org](http://cordova.apache.org) and unzip its
    --- End diff --
    
    It's hard to find where to download it. Maybe the link should point to dist page https://dist.apache.org/repos/dist/release/cordova/platforms/ or github releases page https://github.com/apache/cordova-android/releases


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by jcesarmobile <gi...@git.apache.org>.
Github user jcesarmobile commented on a diff in the pull request:

    https://github.com/apache/cordova-docs/pull/498#discussion_r52730740
  
    --- Diff: www/docs/en/dev/guide/platforms/android/webview.md ---
    @@ -29,106 +29,73 @@ components can communicate with each other, see Application Plugins.
     If you're unfamiliar with Android, you should first familiarize
     yourself with the [Android Platform Guide](index.html) and have the latest Android
     SDK installed before you attempt the more unusual development option
    -of embedding a WebView.  Starting with Cordova 1.9, the Android
    -platform relies on a `CordovaWebView` component, which builds on a
    -legacy `CordovaActivity` component that pre-dates the 1.9 release.
    +of embedding a WebView.  Starting with Cordova 4.0, the Android
    +platform relies on a `SystemWebView` component.
     
     1. To follow these instructions, make sure you have the latest Cordova
        distribution. Download it from
        [cordova.apache.org](http://cordova.apache.org) and unzip its
        Android package.
     
    -1. Navigate to the Android package's `/framework` directory and run
    -   `ant jar`. It creates the Cordova `.jar` file, formed as
    -   `/framework/cordova-x.x.x.jar`.
    +1. Create a project in Android Studio
     
    -1. Copy the `.jar` file into the Android project's `/libs` directory.
    +1. Copy the framework directory into your project's root directory and name it
    +CordovaLib
    +
    +1. Add that project as a library project to your main project.
     
     1. Add the following to the application's `/res/xml/main.xml` file,
        with the `layout_height`, `layout_width` and `id` modified to suit
        the application:
     
    -        <org.apache.cordova.CordovaWebView
    +        <org.apache.cordova.SystemWebView
    --- End diff --
    
    It's org.apache.cordova.engine.SystemWebView, not org.apache.cordova.SystemWebView


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by jcesarmobile <gi...@git.apache.org>.
Github user jcesarmobile commented on the pull request:

    https://github.com/apache/cordova-docs/pull/498#issuecomment-185230674
  
    I think this should be added too:
    
    `@Override
        public void onDestroy() {
            if (this.webInterface!=null) {
                this.webInterface.handleDestroy();
            }
            super.onDestroy();
        }`
    
    If I don't add it, when I use navigator.app.exitApp(); I get an ugly message like this:
    "MainActivity has leaked IntentReceiver org.apache.cordova.engine.SystemWebViewEngine$2@e41c27f that was originally registered here. Are you missing a call to unregisterReceiver()?..."


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by jcesarmobile <gi...@git.apache.org>.
Github user jcesarmobile commented on a diff in the pull request:

    https://github.com/apache/cordova-docs/pull/498#discussion_r52730825
  
    --- Diff: www/docs/en/dev/guide/platforms/android/webview.md ---
    @@ -29,106 +29,73 @@ components can communicate with each other, see Application Plugins.
     If you're unfamiliar with Android, you should first familiarize
     yourself with the [Android Platform Guide](index.html) and have the latest Android
     SDK installed before you attempt the more unusual development option
    -of embedding a WebView.  Starting with Cordova 1.9, the Android
    -platform relies on a `CordovaWebView` component, which builds on a
    -legacy `CordovaActivity` component that pre-dates the 1.9 release.
    +of embedding a WebView.  Starting with Cordova 4.0, the Android
    +platform relies on a `SystemWebView` component.
     
     1. To follow these instructions, make sure you have the latest Cordova
        distribution. Download it from
        [cordova.apache.org](http://cordova.apache.org) and unzip its
        Android package.
     
    -1. Navigate to the Android package's `/framework` directory and run
    -   `ant jar`. It creates the Cordova `.jar` file, formed as
    -   `/framework/cordova-x.x.x.jar`.
    +1. Create a project in Android Studio
     
    -1. Copy the `.jar` file into the Android project's `/libs` directory.
    +1. Copy the framework directory into your project's root directory and name it
    +CordovaLib
    +
    +1. Add that project as a library project to your main project.
     
     1. Add the following to the application's `/res/xml/main.xml` file,
        with the `layout_height`, `layout_width` and `id` modified to suit
        the application:
     
    -        <org.apache.cordova.CordovaWebView
    +        <org.apache.cordova.SystemWebView
                 android:id="@+id/tutorialView"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent" />
     
    -1. Modify the activity so that it implements the `CordovaInterface`.
    -   It should implement the included methods.  You may wish to copy
    -   them from `/framework/src/org/apache/cordova/CordovaActivity.java`,
    -   or else implement them on your own.  The following code fragment
    -   shows a basic application that relies on the interface. Note how
    -   the referenced view id matches the `id` attribute specified in the
    -   XML fragment shown above:
    -
    -        public class CordovaViewTestActivity extends Activity implements CordovaInterface {
    -            CordovaWebView cwv;
    -            /* Called when the activity is first created. */
    -            @Override
    -            public void onCreate(Bundle savedInstanceState) {
    -                super.onCreate(savedInstanceState);
    -                setContentView(R.layout.main);
    -                cwv = (CordovaWebView) findViewById(R.id.tutorialView);
    -                Config.init(this);
    -                cwv.loadUrl(Config.getStartUrl());
    -            }
    +1. Add the following code to setup your Activity so that you have an interface
     
    -1. If the application needs to use the camera, implement the
    -   following:
    +        private CordovaInterfaceImpl iface = new CordovaInterfaceImpl(this);
    +
    +1. Add the following to intialize the WebView
    +
    +        //Set up the webview
    +        ConfigXmlParser parser = new ConfigXmlParser();
    +        parser.parse(this);
    +
    +        SystemWebView webView = (SystemWebView) findViewById(R.id.WebViewComponent);
    +        webInterface = new CordovaWebViewImpl(new SystemWebViewEngine(webView));
    +        webInterface.init(iface, parser.getPluginEntries(), parser.getPreferences());
    +
    +        loadUrl(parser.getLaunchUrl());
    +
    +
    +1. Copy the application's HTML and JavaScript files to the Android
    +   project's `app/src/main/assets/www` directory.
    +
    +1. Copy the `config.xml` file from `/framework/res/xml` to the
    --- End diff --
    
    There is no config.xml on /framework/res/xml. I've found two, one on test/res/xml and another on /bin/templates/project/res/xml, I suppose the good one is the one on bin, right?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by jcesarmobile <gi...@git.apache.org>.
Github user jcesarmobile commented on a diff in the pull request:

    https://github.com/apache/cordova-docs/pull/498#discussion_r52730788
  
    --- Diff: www/docs/en/dev/guide/platforms/android/webview.md ---
    @@ -29,106 +29,73 @@ components can communicate with each other, see Application Plugins.
     If you're unfamiliar with Android, you should first familiarize
     yourself with the [Android Platform Guide](index.html) and have the latest Android
     SDK installed before you attempt the more unusual development option
    -of embedding a WebView.  Starting with Cordova 1.9, the Android
    -platform relies on a `CordovaWebView` component, which builds on a
    -legacy `CordovaActivity` component that pre-dates the 1.9 release.
    +of embedding a WebView.  Starting with Cordova 4.0, the Android
    +platform relies on a `SystemWebView` component.
     
     1. To follow these instructions, make sure you have the latest Cordova
        distribution. Download it from
        [cordova.apache.org](http://cordova.apache.org) and unzip its
        Android package.
     
    -1. Navigate to the Android package's `/framework` directory and run
    -   `ant jar`. It creates the Cordova `.jar` file, formed as
    -   `/framework/cordova-x.x.x.jar`.
    +1. Create a project in Android Studio
     
    -1. Copy the `.jar` file into the Android project's `/libs` directory.
    +1. Copy the framework directory into your project's root directory and name it
    +CordovaLib
    +
    +1. Add that project as a library project to your main project.
     
     1. Add the following to the application's `/res/xml/main.xml` file,
        with the `layout_height`, `layout_width` and `id` modified to suit
        the application:
     
    -        <org.apache.cordova.CordovaWebView
    +        <org.apache.cordova.SystemWebView
                 android:id="@+id/tutorialView"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent" />
     
    -1. Modify the activity so that it implements the `CordovaInterface`.
    -   It should implement the included methods.  You may wish to copy
    -   them from `/framework/src/org/apache/cordova/CordovaActivity.java`,
    -   or else implement them on your own.  The following code fragment
    -   shows a basic application that relies on the interface. Note how
    -   the referenced view id matches the `id` attribute specified in the
    -   XML fragment shown above:
    -
    -        public class CordovaViewTestActivity extends Activity implements CordovaInterface {
    -            CordovaWebView cwv;
    -            /* Called when the activity is first created. */
    -            @Override
    -            public void onCreate(Bundle savedInstanceState) {
    -                super.onCreate(savedInstanceState);
    -                setContentView(R.layout.main);
    -                cwv = (CordovaWebView) findViewById(R.id.tutorialView);
    -                Config.init(this);
    -                cwv.loadUrl(Config.getStartUrl());
    -            }
    +1. Add the following code to setup your Activity so that you have an interface
     
    -1. If the application needs to use the camera, implement the
    -   following:
    +        private CordovaInterfaceImpl iface = new CordovaInterfaceImpl(this);
    +
    +1. Add the following to intialize the WebView
    +
    +        //Set up the webview
    +        ConfigXmlParser parser = new ConfigXmlParser();
    +        parser.parse(this);
    +
    +        SystemWebView webView = (SystemWebView) findViewById(R.id.WebViewComponent);
    +        webInterface = new CordovaWebViewImpl(new SystemWebViewEngine(webView));
    +        webInterface.init(iface, parser.getPluginEntries(), parser.getPreferences());
    +
    +        loadUrl(parser.getLaunchUrl());
    --- End diff --
    
    I think it should be webView.loadUrl(parser.getLaunchUrl());


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by jcesarmobile <gi...@git.apache.org>.
Github user jcesarmobile commented on a diff in the pull request:

    https://github.com/apache/cordova-docs/pull/498#discussion_r52730805
  
    --- Diff: www/docs/en/dev/guide/platforms/android/webview.md ---
    @@ -29,106 +29,73 @@ components can communicate with each other, see Application Plugins.
     If you're unfamiliar with Android, you should first familiarize
     yourself with the [Android Platform Guide](index.html) and have the latest Android
     SDK installed before you attempt the more unusual development option
    -of embedding a WebView.  Starting with Cordova 1.9, the Android
    -platform relies on a `CordovaWebView` component, which builds on a
    -legacy `CordovaActivity` component that pre-dates the 1.9 release.
    +of embedding a WebView.  Starting with Cordova 4.0, the Android
    +platform relies on a `SystemWebView` component.
     
     1. To follow these instructions, make sure you have the latest Cordova
        distribution. Download it from
        [cordova.apache.org](http://cordova.apache.org) and unzip its
        Android package.
     
    -1. Navigate to the Android package's `/framework` directory and run
    -   `ant jar`. It creates the Cordova `.jar` file, formed as
    -   `/framework/cordova-x.x.x.jar`.
    +1. Create a project in Android Studio
     
    -1. Copy the `.jar` file into the Android project's `/libs` directory.
    +1. Copy the framework directory into your project's root directory and name it
    +CordovaLib
    +
    +1. Add that project as a library project to your main project.
     
     1. Add the following to the application's `/res/xml/main.xml` file,
        with the `layout_height`, `layout_width` and `id` modified to suit
        the application:
     
    -        <org.apache.cordova.CordovaWebView
    +        <org.apache.cordova.SystemWebView
                 android:id="@+id/tutorialView"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent" />
     
    -1. Modify the activity so that it implements the `CordovaInterface`.
    -   It should implement the included methods.  You may wish to copy
    -   them from `/framework/src/org/apache/cordova/CordovaActivity.java`,
    -   or else implement them on your own.  The following code fragment
    -   shows a basic application that relies on the interface. Note how
    -   the referenced view id matches the `id` attribute specified in the
    -   XML fragment shown above:
    -
    -        public class CordovaViewTestActivity extends Activity implements CordovaInterface {
    -            CordovaWebView cwv;
    -            /* Called when the activity is first created. */
    -            @Override
    -            public void onCreate(Bundle savedInstanceState) {
    -                super.onCreate(savedInstanceState);
    -                setContentView(R.layout.main);
    -                cwv = (CordovaWebView) findViewById(R.id.tutorialView);
    -                Config.init(this);
    -                cwv.loadUrl(Config.getStartUrl());
    -            }
    +1. Add the following code to setup your Activity so that you have an interface
     
    -1. If the application needs to use the camera, implement the
    -   following:
    +        private CordovaInterfaceImpl iface = new CordovaInterfaceImpl(this);
    +
    +1. Add the following to intialize the WebView
    +
    +        //Set up the webview
    +        ConfigXmlParser parser = new ConfigXmlParser();
    +        parser.parse(this);
    +
    +        SystemWebView webView = (SystemWebView) findViewById(R.id.WebViewComponent);
    +        webInterface = new CordovaWebViewImpl(new SystemWebViewEngine(webView));
    +        webInterface.init(iface, parser.getPluginEntries(), parser.getPreferences());
    +
    +        loadUrl(parser.getLaunchUrl());
    +
    +
    +1. Copy the application's HTML and JavaScript files to the Android
    --- End diff --
    
    where do we get the cordova.js? There is one on /bin/templates/project/assets/


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


[GitHub] cordova-docs pull request: CB-9393: Documenting how to embed a Sys...

Posted by infil00p <gi...@git.apache.org>.
Github user infil00p closed the pull request at:

    https://github.com/apache/cordova-docs/pull/498


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org