split(".")无效,length为0,加贴一个VersionName比较更新

参考:http://blog.csdn.net/yayayaya__/article/details/37689861
由于是通过正则匹配,需要转义

 /**
     * Splits this string using the supplied {@code regularExpression}.
     * See {@link Pattern#split(CharSequence, int)} for an explanation of {@code limit}.
     * See {@link Pattern} for regular expression syntax.
     *
     * 

If the same regular expression is to be used for multiple operations, it may be more * efficient to reuse a compiled {@code Pattern}. * * @throws NullPointerException if {@code regularExpression == null} * @throws PatternSyntaxException * if the syntax of the supplied regular expression is not * valid. * @since 1.4 */ public String[] split(String regularExpression, int limit) { String[] result = java.util.regex.Splitter.fastSplit(regularExpression, this, limit); return result != null ? result : **Pattern.compile(regularExpression)**.split(this, limit); }

 /**
     * 比较版本是否更新
     *
     * @param version
     * @return true :需要更新 ; false:不需要,大于=当前版本
     */
    private boolean compareVersionNeedUpdate(String version) {

        String versionName = DeviceUtils.getVersionName(Thinksns.getApplication());
        if (version.equals(versionName)) return false;
        final String[] appVersion = versionName.split("\\.");
        final String[] compareVersion = version.split("\\.");
        int minLength = Math.min(appVersion.length, compareVersion.length);
        for (int i = 0; i < minLength; i++) {
            if (Integer.parseInt(compareVersion[i]) > Integer.parseInt(appVersion[i])) {
                return true;
            }
        }
        if (compareVersion.length > appVersion.length && version.startsWith(versionName)) {
            return true;
        }
        return false;
    }

你可能感兴趣的:(android基础)