2017-05-16 7 views
-1

私は、ユーザー認証がリクエストを送信したアプリケーションを持っており、応答が成功した場合、次のアクティビティにナビゲートしました。ユーザー名パスワードが正しいとナビゲートしますが、アップと近いと私のログに、私はログインに失敗した状態が正常に動作しない

java.io.IOException: HTTP/1.1 401 The username or password you entered is incorrect. 

を取得していない私は、応答が、私は間違った資格情報を入力してログインに失敗しましたトーストメッセージ成功したディスプレイではなく、ダイアログbox.ifを閉じた場合、それはないというのが私のコードでそれを扱っていますコードの一部に到達できません。ブレークポイントを使用してチェックしました。

マイコード:

buttonlogin.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View v) 
      { 
       if(etemail.getText().toString().equals("") && etpass.getText().toString().equals("")) 
       { 
        Toast.makeText(getApplicationContext(),"Enter your username and Password",Toast.LENGTH_LONG).show(); 
       } 
       else 
       { 
        final ProgressDialog progressDialog = new ProgressDialog(MainActivity.this); 
        progressDialog.setMessage("Logging in..Please wait"); 
        progressDialog.setIndeterminate(true); 
        progressDialog.show(); 
        new Thread(new Runnable() 
        { 
         public void run() 
         { 
          try 
          { 
           restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"),etemail.getText().toString(),etpass.getText().toString()); 
           restApi.setApplicationName("BMC-AndroidforRally"); 
           qtestset = new QueryRequest("Users"); 
           qtestset.setLimit(1); 
           response=restApi.query(qtestset); 
           if(!response.wasSuccessful()) 
           { 
            parent.runOnUiThread(new Runnable() { 
             @Override 
             public void run() 
             { 
              Toast.makeText(getApplicationContext(),"Login Failed..incorrect Username/Password",Toast.LENGTH_LONG).show(); 
              progressDialog.dismiss(); 
             } 
            }); 
           } 
           else 
           { 
            progressDialog.dismiss(); 
            //Toast.makeText(getApplicationContext(),"Login Successful.....Logged in as :"+etemail.getText().toString(),Toast.LENGTH_LONG).show(); 
            Intent mainintent = new Intent(MainActivity.this,FirstPage.class); 
            mainintent.putExtra("username",etemail.getText().toString()); 
            mainintent.putExtra("password",etpass.getText().toString()); 
            startActivity(mainintent); 
           } 
          } 
          catch (URISyntaxException | IOException e) 
          { 
           e.printStackTrace(); 

          } 

         } 
        }).start(); 

       } 

      } 
     }); 

また、私はより高速な実行のための新しいスレッドを作成しました。

答えて

0

この概念では、実行可能スレッドを実装する必要はありません。 OnClickListenerのスレッドを削除すると、正常に動作します。スレッドだけが古いメッセージを表示しているため(まだ実行中です)。 OnClickListenerでスレッドを削除するのが最善で、条件がfalseになったときにスレッドを停止します。

+0

進捗ダイアログが表示されず、トーストも表示されません – Akshay

関連する問題