2017-01-04 5 views
0

複数のボレーリクエストを作成するとエラーが発生します。 まず、ログインをリクエストしていて、正常に動作します。ログイン処理の後、メインアクティビティがアプリケーションで開きます。ここで新しいリクエストを行うと、リクエストがキューに追加されます。しかし、要求は実行されません。これの理由は何ですか?複数のリクエストがアンドロイドボレー

このコードは、ログイン機能である:

private void LoginUser(final String email, final String password) { 

    String tag_string_req = "request_register"; 

    pDialog.setMessage("Giriş Yapılıyor ..."); 
    showDialog(); 

    StringRequest strReq = new StringRequest(Request.Method.POST, 
      URL_LOGIN, new Response.Listener<String>() { 

     @Override 
     public void onResponse(String response) { 
      try { 
       JSONObject jObj = new JSONObject(response); 
       boolean error = jObj.getBoolean("error"); 
       if (!error) { 
        JSONObject user = jObj.getJSONObject("user"); 
        int userId = user.getInt("UserId"); 
        int uId = user.getInt("UId"); 


        Intent intent = new Intent(LoginActivity.this, MainActivity.class); 
        intent.putExtra("UserId", userId); 
        intent.putExtra("UId", uId); 
        startActivity(intent); 
        finish(); 
       } else { 
        String errorMsg = jObj.getString("message"); 
        Toast.makeText(getApplicationContext(), errorMsg, Toast.LENGTH_LONG).show(); 
        hideDialog(); 
       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 
    }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError error) { 
      Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show(); 
      hideDialog(); 
     } 
    }) { 

     @Override 
     protected Map<String, String> getParams() { 

      Map<String, String> params = new HashMap<String, String>(); 
      params.put("email", email); 
      params.put("password", password); 

      return params; 
     } 

    }; 
    strReq.setShouldCache(false); 
    LoginApplication.getInstance().addToRequestQueue(strReq, tag_string_req); 
} 

このコードは、ログイン機能の後でユーザーに関する件のデータを取得することです:

public void Sync(final Context context, final int uId) 
{ 
    String tag_string_req = "request_syncUser"; 
    db1 = new Database(context); 

    StringRequest strReq = new StringRequest(Request.Method.POST, 
      URL_LOGIN, new Response.Listener<String>() { 
     @Override 
     public void onResponse(String response) { 
      //gelen tüm verileri local db ye at 
      try { 
       SQLiteDatabase db = db1.getWritableDatabase(); 
       JSONObject jObj = new JSONObject(response); 
       JSONArray responseUser = jObj.getJSONArray("user"); 
       boolean error = jObj.getBoolean("error"); 
       String message = jObj.getString("message"); 
       if(!error) { 
        for(int i=0; i<responseUser.length(); i++) 
        { 
         JSONObject user = responseUser.getJSONObject(i); 

         String u_name = user.getString("Name"); 
         String u_surname = user.getString("Surname"); 
         String u_email = user.getString("Email"); 
         String u_password = user.getString("Password"); 
         String u_isLogin = user.getString("isLogin"); 
         String u_isSync = user.getString("isSync"); 
         int u_uId = user.getInt("UId"); 

         ContentValues cv = new ContentValues(); 
         cv.put("Name", u_name); 
         cv.put("Surname", u_surname); 
         cv.put("Email", u_email); 
         cv.put("Password", u_password); 
         cv.put("isLogin", u_isLogin); 
         cv.put("isSync", u_isSync); 
         cv.put("UId", u_uId); 

         db.insertOrThrow("user", null, cv); 

         Toast.makeText(context, message ,Toast.LENGTH_LONG).show(); 
         Toast.makeText(context, u_name + u_surname,Toast.LENGTH_LONG).show(); 
        } 
       } else { 

       } 

      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      Toast.makeText(context, error.getMessage(), Toast.LENGTH_LONG).show(); 
     } 
    }) { 
     @Override 
     protected Map<String, String> getParams() { 
      Map<String, String> params = new HashMap<>(); 
      params.put("uId", String.valueOf(uId)); 

      return params; 
     } 
    }; 
    strReq.setShouldCache(false); 
    LoginApplication.getInstance().addToRequestQueue(strReq, tag_string_req); 
} 

}

+0

コードを投稿してエラーが発生します – Sharj

+0

私の質問を編集します。 – oflu1071

答えて

0

まあ、我々はあなたのコードを参照してくださいする必要がありますか?

私の推測では、キューをシングルトンパターンで作成したりアクセスしたりしていないと言われました。完全な推測。常に常に常にポストコード。

関連する問題