.私は Android の初心者で、チュートリアルを使用して詳細を学習しています。PHPとJSONを使用してリモートサーバーでAndroidにログインページを作成しようとしています。以下は、私がログインのために実験してきた機能です。私の問題は、間違ったユーザー名とパスワードを入力するたびに (もちろん意図的に)、次に正しいログイン情報を使用すると、アプリケーションが強制的に閉じられることです。間違ったログイン情報が使用された場合、JSON が null を返すためだと思います。そこから、null リターンの処理方法がわかりません。ルーパーと非同期で読んでみましたが、まだ運がありません。
void login() {
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("username", EtUsernameInput.getText().toString()));
postParameters.add(new BasicNameValuePair("password", EtPasswordInput.getText().toString()));
String response = null;
try {
response = CustomHttpClient.executeHttpPost("http://xxx.xxx.xxx.xxx/xxx/xxx/activity1a.php",
postParameters);
String result = response.toString();
try {
returnString = "";
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++) {
JSONObject json_data = jArray.getJSONObject(i);
Log.i("log_tag","student_id: "+ json_data.getString("student_id") + ", first_login: "+ json_data.getString("s_first_login"));
String first_login = json_data.getString("s_first_login");
}
} catch(JSONException e) {
Log.e("log_tag", "Error parsing data "+e.toString());
}
if (first_login.equals("") || first_login.equals(null)) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(Activity1_Login.this, "User not found.", Toast.LENGTH_SHORT).show();
}
});
} else
startActivity(new Intent(Activity1_Login.this, Activity2_Main.class));
} catch (Exception e) {
Log.e("log_tag","Error in http connection!!" + e.toString());
}
}
間違ったログイン情報が使用されるたびにログイン情報が要求されるプログラムの最初に戻る方法はありますか? ヘルプ/アドバイスをよろしくお願いします。