残念ながら文字列として0(FALSE)または1(TRUE)を返すPHPスクリプトを呼び出すAndroidアプリがあります。したがって、私のJavaコードにはString result
、「0」または「1」の変数があります。この文字列が BOM で始まる可能性があることはわかっているので (ここにいる皆さんに感謝します)、そうであれば削除します。
実際には必要ありませんが、その結果が文字列ではなく整数であると気分が良くなるとしましょう。string から int という名前へのキャストはcode
機能しているようです。少なくとも私は何も起こらないと思います。
しかし、キャストされた int like を使用しif (code == 1)
たり、Toast を介して表示したりすると、アプリがクラッシュします。私はそれを示すことができるので、Toast
この文字列を int にキャストするのに失敗する可能性があることはわかりません。result == "1"
result.length() == 1
String result = postData("some stuff I send to PHP");
if (result.codePointAt(0) == 65279) // which is the BOM
{result = result.substring(1, result.length());}
int code = Integer.parseInt(result); // <- does not crash here...
// but here...
Toast.makeText(ListView_Confirmation.this, code, Toast.LENGTH_LONG).show();
私も使用valueOf()
して追加しようとしまし.toString()
たが、クラッシュし続けます。ここで何が欠けていますか?