2016-08-06 1 views
0

私はしたいパラメータを比較ユーザ名とパスワードの両方が真であるかどうか、そしてダイアログボックスに何か間違ったものが表示されていないかどうかを確認します。ユーザー名が真ではないことを示すダイアログボックスを表示します。AndroidのJsonのログインパラメータ

public class MainActivity extends 
    AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    final EditText id = (EditText) findViewById(R.id.loginid); 
    final EditText pass = (EditText) findViewById(R.id.loginpass); 

    Button b1 = (Button) findViewById(R.id.buttonlogin); 
    b1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      String username = id.getText().toString(); 
      String password = pass.getText().toString(); 
      if (isNetworkAvailable()) { 
       RequestBody formBody = new FormBody.Builder() 
         .add("username", username) 
         .add("password", password) 
         .build(); 


        try { 
         post(ConstantValues.BASE_URL, formBody, new Callback() { 
          @Override 
          public void onFailure(Call call, IOException e) { 
           Log.e("JSONDemo", "IOException", e); 
          } 

          @Override 
          public void onResponse(Call call, Response response) throws IOException { 
           String res = response.body().string(); 

           Log.e("res", " " + res); 
           try { 

            JSONArray jsonarr = new JSONArray(res); 

            for (int i = 0; i < jsonarr.length(); i++) { 


             JSONObject jsonobj = jsonarr.getJSONObject(i); 
             final String namee = jsonobj.getString("FIRST_NAME"); 




             Log.e("name", " " + namee); 

            } 
            runOnUiThread(new Runnable() { 
             @Override 
             public void run() { 
              // you can access all the UI componenet 


             } 
            }); 


           } catch (Exception e) { 
            Log.e("JSONDemo", "onResponse", e); 


           } 
          } 
         }); 
        } catch (Exception e) { 
         Log.e("JSONDemo", "Post Exception", e); 
        } 


      } 
     } 
    }); 
} 


private boolean isNetworkAvailable() { 
    ConnectivityManager connectivityManager 
      = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
    return activeNetworkInfo != null && activeNetworkInfo.isConnected(); 
} 


private final OkHttpClient client = new OkHttpClient(); 

Call post(String url, RequestBody formBody, Callback callback) throws IOException { 

    Request request = new Request.Builder() 
      .url(url) 
      .post(formBody) 
      .build(); 

    Call call = client.newCall(request); 
    call.enqueue(callback); 
    return call; 
} 

public void showAlertDialog(String title, String message) { 
    final AlertDialog.Builder builder1 = new AlertDialog.Builder(MainActivity.this); 
    builder1.setTitle(title); 
    builder1.setMessage(message); 
    builder1.setCancelable(true); 
    builder1.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialogInterface, int i) { 
      dialogInterface.cancel(); 
     } 
    }); 
    runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      builder1.show(); 

     } 

    }); 
} 
} 
+0

あなたが直面している問題や問題は何ですか? – Vickyexpert

+0

APIのユーザー名とパスワードは一致していますが、ダイアログボックスに名前が表示されますが、ユーザー名とパスワードがAPIで一致しない場合はどうすればよいでしょうか事前にお礼を教えてください –

+0

あなたが何を得ているのでしょうか? – Vickyexpert

答えて

0

あなたの応答メソッドのコードの下に適用します。

@Override 
    public void onResponse(Call call, Response response) throws IOException { 

    String res = response.body().string(); 

    Log.e("res", " " + res); 

     try { 

      JSONArray jsonarr = new JSONArray(res); 

      for (int i = 0; i < jsonarr.length(); i++) { 


       JSONObject jsonobj = jsonarr.getJSONObject(i); 

       final String result = jsonobj.getString("SUCCESS"); 

       String namee = ""; 

       if(result.equals(“1”) 
       { 
        namee = jsonobj.getString("FIRST_NAME"); 
       } 
       else 
       { 
        namee = "Invalid Username or Password"; 
       } 

       Log.e("name", " " + namee); 

      } 
      runOnUiThread(new Runnable() { 

       @Override 
       public void run() { 
        // you can access all the UI componenet 
       } 
      }); 

     } catch (Exception e) { 
      Log.e("JSONDemo", "onResponse", e); 
    } 
+0

あなたのコードは私に電子メールIDを提供してくれますか?将来私はあなたに連絡することができますか? –

+0

stackoverflowがここに個人的な詳細を共有するポリシーを持っていないので、いつでもこのコメントでいつでもこの答えで連絡してください – Vickyexpert

+0

ありがとうあなたの努力のために非常に親指を私をelped :) –