我有一个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商店中,因此没有自动更新。
答案 0 :(得分:0)
由于其他人已经提到过的原因,你无法修复它。我还想指出你目前的做法存在缺陷。使用当前代码,10.1版本将等于1.01。
相反,请勿比较应用版本名称并开始比较应用版本代码。也就是说,当您发布1.0版时,将该版本发布到代码1;当您发布1.1版时,请使用代码2释放它,依此类推。在您的应用中,比较版本代码,如果您想让生活更轻松,请忽略版本名称。 Android清单使用此机制检查Play商店中的应用程序版本。请查看<manifest android:versionCode="integer" android:versionName="string" />
以供参考。