【问题标题】:version request fail error by versions dots?版本点的版本请求失败错误?
【发布时间】:2014-03-06 09:24:21
【问题描述】:

我正在尝试在 as3 中创建版本查询。

搜索当前版本工作正常

var appXml1:XML = NativeApplication.nativeApplication.applicationDescriptor;
var ns1:Namespace = appXml1.namespace();
var current1:String = appXml1.ns1::versionNumber[0];

在线搜索新版本工作正常

var apploader:URLLoader = new URLLoader();
var apprequest:URLRequest = new URLRequest("http://XXX/app/version/app.xml");
apprequest.method = URLRequestMethod.POST;
apploader.load(apprequest);
var xml:XML = XML(apploader.data);

if 语句失败

if (xml.version > current1)
{
    gotoAndStop(3);
}

当前版本是 2.0.0

新上线的版本是2.0.1

代码在第 2 帧,测试时影片不会在第 3 帧停止,而是停留在第 2 帧

我怀疑版本号中的点错误。那可能吗?我怎么能解决这个问题。

谢谢(抱歉我的英语不好)

【问题讨论】:

    标签: android actionscript-3 flash air


    【解决方案1】:

    我写了一个非常简单的实用函数来测试版本。你比较版本,结果可以是1 - 如果版本1大于版本2,0 - 版本1和版本2相等,-1 - 版本1低于版本2

    private function compareVersions(version1:String, version2:String):int {
        var v1:Array = version1.split("."), v2:Array = version2.split(".");
        var i:uint, len:uint = v1.length;
    
        for (i; i < len; ++i) {
            if (v1[i] > v2[i]) {
                return 1;
            } else if (v1[i] < v2[i]) {
                return -1
            }
        }
    
        return 0;
    }
    

    使用方法:

    var currentVersion: String = "2.0.1";
    var lastVersion: String = "2.0.0";
    if(compareVersions(currentVersion, lastVersion) > 0){
        trace("Current version is greater! Yes!");
    }
    

    【讨论】:

      猜你喜欢
      • 2011-02-14
      • 2023-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 2018-10-03
      相关资源
      最近更新 更多