使用Phone Gap在Sencha Touch中实现Childbrowser

时间:2013-04-29 13:08:55

标签: javascript android cordova extjs

我目前正在Sencha Touch 2中部署Android OS。

我在app.json文件中包含了“cordova-2.2.0.js”,“ChildBrowser.js”的路径

我正在使用Chrome浏览器在Windows PC中开发它,并使用Sencha工具和phonegap构建到Android设备。

我的示例代码是

window.plugins.childBrowser.openExternal( “http://www.google.com”);

我的webkit浏览器出现以下错误。

未捕获的TypeError:对象#没有方法'exec'

在我的原生应用程序中,我没有得到任何回复。

请帮助...我包括我的Main.js文件

谢谢

Main.js文件

Ext.define('Children.view.Main', {
extend: 'Ext.tab.Panel',
xtype: 'main',
requires: [
    'Ext.TitleBar',
    'Ext.Video'
],
config: {
    tabBarPosition: 'bottom',

    items: [
        {
            title: 'Welcome',
            iconCls: 'home',

            styleHtmlContent: true,

            items: [
                        {
                            xtype: 'button',
                            text: 'Open Google',
                            handler: function(button) {

                                         window.plugins.childBrowser.openExternal('http://www.google.com');
                            }
                        }

                    ]
        },
        {
            title: 'Get Started',
            iconCls: 'action',

            items: [
                {
                    docked: 'top',
                    xtype: 'titlebar',
                    title: 'Getting Started'
                },
                {
                    xtype: 'video',
                    url: 'http://av.vimeo.com/64284/137/87347327.mp4?token=1330978144_f9b698fea38cd408d52a2393240c896c',
                    posterUrl: 'http://b.vimeocdn.com/ts/261/062/261062119_640.jpg'
                }
            ]
        }
    ]
}

});

1 个答案:

答案 0 :(得分:0)

这只是一个非常大的重大问题: 要做到这一点,你需要几个技术技能:javascript,sencha touch,java(适用于Android OS)和phonegap插件 你能写一个phonegap插件吗? 这是一个简短的收据,但我没有包含Java代码,因为我需要您提供更多详细信息:

    在res / xml下的config.xml中的
  • 把你的插件配置(InfoP是一个Java类):

  • 在您的src文件夹中添加InfoPlugin.java;

  • 在assets / www下添加infopl.js; (infopl.js是调用Java插件的javascript)

  • index.html中的
  • (例如)插件:

在webapp中,您可以调用插件:

<script type="text/javascript">

  document.addEventListener('deviceready', function() {

      window.plugins.infoPl.getInfo(
           function(info) {

                alert(info);
           //( you can see what you log on console with ADB console log)
                console.log('MYINFO: '+info); 
           }, function() {
               console.log("fail");
           }
       );

  }, false );
</script>

在Sencha中使用(如果你使用具有sencha touch的MVC功能的控制器,那就更好了):

  listeners: {
    tap:
     function() {
        alert('something');
    }

而不是:

handler: function(button) {
  alert('something');

}

您建议您查看: