私のアプリに関するいくつかの統計を読んだ後、ユーザーの75%を更新するのに1ヶ月以上かかることがわかりました。すべての更新が非常に重要なので、私は、更新が保留中であることをユーザーに知らせるアプリ内アラートを作成するようになりました。期待値、間違った結果
DownloadText()
メソッドによって取得されたWebサーバーに格納されている実際のアプリケーションバージョン(18)を含むテキストファイルがあります。この番号は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;
}
}
デバッグステートメント、ログエントリ、または他の何らかの仕組み。 –
デバッガを使って私は私の番号を最初に行うべきintに解析できると思った。ありがとうございました:) – Kebekers