閱讀了關於我的應用程序的一些統計數據後,我看到它需要一個多月的時間來更新我的用戶的75%。由於所有更新都非常重要,因此我想出了一個應用內警報,告訴用戶有一個待更新的更新。預期值,錯誤結果
存在一個包含實際應用版本(18)的文本文件,存儲在由DownloadText()
方法獲取的網絡服務器中。這個數字將在isUpdatetxt
之內,並且使用.substring(1, 3)
從不可顯示的字符中提取。所以基本上只剩下「18」了。
但是我的問題是:isUpdatetxt == "18"
返回false,當它不應該。
private class GetUpdate extends AsyncTask<Void, Void, Void>
{
@Override
protected void onPreExecute() {
super.onPreExecute();
Toast.makeText(getApplicationContext(), "Vérification de mise à jours", Toast.LENGTH_LONG).show();
}
@Override
protected void onPostExecute(Void result) {
/** For debug reference*/
Toast.makeText(getApplicationContext(), "*" + isUpdatetxt + "*" + " " + (isUpdatetxt.length()), Toast.LENGTH_LONG).show();
if(isUpdatetxt == "18"){
alertDialog.show();
}
}
@Override
protected Void doInBackground(Void... params) {
isUpdatetxt = DownloadText(updateURL);
isUpdatetxt = isUpdatetxt.substring(1, 3);
return null;
}
}
只有一個辦法,找出爲什麼''isUpdatetxt'不使用不等於‘18’......找出它到底含有調試語句,日誌條目或其他一些機制。 –
使用debuger讓我覺得我可以將我的號碼解析爲一個我應該先做的int。感謝您的時間:) – Kebekers