私はアンドロイドの開発を学んでいます。私は正常にログインクラスを作ることができました。私のアプリケーションは自分のmysqlデータベースをチェックして、ユーザの詳細がDBに存在するかどうかを確認します。 PHPファイルの記事のいずれか、「正しい」ユーザーの詳細は、「正しくない」DBまたはAndroidの文字列.equalsメソッドが動作しない
private void checkResult(){
if(getResults().equals("correct")){
//do some stuffs
}
else{
displayDialog(getResults());
}
}
getResults()メソッド内に存在する場合は、文字列(サーバからの応答)を返します。しかし、文字列の比較は動作していないように見えます。なぜなら、サーバーが応答として「正しい」を返すと、if条件が常にfalseになるからです。私は、以下の方法を使って、false文が実行されるが、alertDialogのmsgは "正しい"ことを確認した。誰でも助けてください、なぜかコードの動作が分からないようです。
public void displayDialog(String msg){
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Authetication Failed!");
alertDialog.setMessage(msg);
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do something when the user presses OK (place focus on weight input?)
}
});
alertDialog.setIcon(R.drawable.icon);
alertDialog.show();
}
ありがとうございます。vicki D ..これは、equalsの前に.trim()を追加すると動作します。しかし理由を理解していないが、ありがとう、私は今すぐ進むことができます:D – fizo07
喜んで助けてください。私は、他の人が示唆しているように、いくつかの不可視の文字が文字列に追加されていると推測しています。 – Pikaling