使用phonegap进行移动跨平台在Android平台开发所遇到的问题

6 篇文章 0 订阅
5 篇文章 0 订阅

手头上的跨平台项目进行了差不多有两周了,从Windows8版本移植到Android平板版本过程中遇到了很多问题,但也取得了一些小突破。

1、  首先Android和IOS系统是不支持IndexedDB的,但支持WebSql,而Windows8版本的是使用的是IndexedDB,所以需要做一个中间层来适配WebSql的接口。目前该部分工作已经完成,初步的测试也通过了。

2、  Android的版本太多,模拟器版本也很多,使用Phonegap的接口会出现很多版本冲突的问题。

3、  Android基于Phonegap跨平台开发比较难调试,程序没有响应了,调试信息也不会报错,因此不知道从哪里修改bug。

4、  使用Bootstrap来重写界面的话,也会出现各个平台界面显示的不一致的问题。

5、  目前Android版本的程序打包安装到三星平板上,大部分界面显示正常,但是功能上还没有调试通过,由于以上提到的2、3点的问题,进展比较慢。

6、使用phonegap 2.9版本以上的要注意了,js代码的第一行就要调用这一句:

document.addEventListener("deviceready", deviceIsReady, false);
而不是 $(document).ready()


<script>
    document.addEventListener("deviceready", deviceIsReady, false);

    function deviceIsReady() {
        /*This is where all of you initialization code should go. 
          With PhoneGap the deviceready should be the first thing*/
		$.ajax({
                    type: "get",
                    //async: false,
                    timeout: 30000,
                    dataType: "text",
                    url: "http://www.51shuaige.com/main.asmx/Connect",
                    success: function (msg) {
                        //alert(msg);
                        var json = eval('(' + msg + ')');
                        if (json.Status == "true") {
                            sessionStorage["connect_smis"] = "true";
                            $("#setting_sysinfo_connection_status").html('<span class="green">Disconnected</span>');
                            $("#setting_sync_btn").attr("class", "button_class btn_height30");
                        }
                    },
                    error: function () {
                        //alert("ajax err");
                        sessionStorage["connect_smis"] = "false";
                        $("#setting_sysinfo_connection_status").html('<span class="red">Disconnected</span>');
                        $("#setting_sync_btn").attr("class", "deactive_button_class btn_height30");
                    }
                });
    }

</script>

即使用
document.addEventListener("deviceready", deviceIsReady, false);
来代替
$(document).ready()


以上是使用phonegap进行移动跨平台在Android平台开发所遇到的问题,大家在选择phonegap作为技术选型的时候要注意了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值