android - 在java中比较字符串和布尔值

时间:2014-03-13 00:42:25

标签: java android json eclipse string

我有一个Android应用程序。

该应用有自我检查方法,以确保它已更新到最新版本。

不幸的是,在我上一次发布的过程中,我想让这个方法能够检查版本是否低于最后一个版本,以便只有在设备上找到的版本低于时才弹出更新消息实际的。

但我在我的代码中犯了错误并发布了我的应用程序,因为这个错误导致我的用户无法更新我的应用程序。

以下是我应该使用的代码:

 if (Integer.parseInt(lastVersion.replace(".", "")) > Integer.parseInt(actualVersion.replace(".", ""))){ //update...}

这是我用过的代码:

 if (lastVersion.equals(Integer.parseInt(lastVersion.replace(".", "")) > Integer.parseInt(actualVersion.replace(".", "")))){ //update...}

正如你所看到的,我不知道我是如何结束这样的错误,而不是比较我正在检查的两个版本的lastVersion的结果> actualVersion等于字符串lastVersion ....

我唯一可以互动的是lastVersion,因为它是一个取自我自己的api的变量。

我想找到我可以在我的json表中使用的条件来使条件工作,这意味着lastVersion应该等于布尔值,但它必须保持一个包含至少1个数字的字符串(因为parseInt( ))。而且realVersion是1.94

我尝试使用0和1但没有成功。

PS:我的应用程序不在Play商店中,因此没有自动更新。

1 个答案:

答案 0 :(得分:0)

由于其他人已经提到过的原因,你无法修复它。我还想指出你目前的做法存在缺陷。使用当前代码,10.1版本将等于1.01。

相反,请勿比较应用版本名称并开始比较应用版本代码。也就是说,当您发布1.0版时,将该版本发布到代码1;当您发布1.1版时,请使用代码2释放它,依此类推。在您的应用中,比较版本代码,如果您想让生活更轻松,请忽略版本名称。 Android清单使用此机制检查Play商店中的应用程序版本。请查看<manifest android:versionCode="integer" android:versionName="string" />以供参考。