0

ユーザーとパスワードが正しいかどうかを確認しようとしています。私はAPIを消費しています。これが私のコードです:

 String username = user.getText().toString(), password = pass.getText().toString();

      String URL = "MyUrl";
      String authData = "Basic " + Base64.encodeToString((username + ":" + password).getBytes(), Base64.NO_WRAP);
      HttpClient httpclient = new DefaultHttpClient();
      HttpGet httpget = new HttpGet(URL);
      httpget.setHeader("Authorization", authData); 
      HttpResponse response = null;
        try {
            response = httpclient.execute(httpget);
            HttpEntity entity = response.getEntity();

            if (entity != null) {
                String s = EntityUtils.toString(entity);
                Toast.makeText(getBaseContext(), s, Toast.LENGTH_SHORT).show();
                Intent i = new Intent(Login.this,DriverLogin.class);
                startActivity(i);
                finish();
            }
            else
                Toast.makeText(getBaseContext(), "Fail", Toast.LENGTH_SHORT).show(); 

        } catch (Exception e) {
            // Auto-generated catch block
            e.printStackTrace();
        }
        finally {
        }

ユーザー名とパスワードが正しければ問題ありません。私の問題は、ユーザーが間違ったログイン資格情報を入力したときです。エンティティが null でないかどうかをチェックする行があります。私が観察したように、ログイン資格情報が正しいか間違っているかにかかわらず、この状態になります。正しい場合、必要な詳細が表示されます。間違っている場合は、詳細が承認されていないというメッセージが表示されます。ログイン資格情報が間違っていると言うために、そのメッセージをキャッチしたいと思います。詳細が間違っているとエンティティがnullになると思いました。何か案は?ありがとう!

4

1 に答える 1