2017-11-11 30 views
0

動作しないコードは以下のとおりです。このコードに間違いがあり、パラメータを送信しない理由を参照してください。私はAndroidが初めてです。Androidボレーがパラメータを送信していません

private void sendParams() 
{ 
    JsonArrayRequest movieReq = new JsonArrayRequest(AppConfig.URL_Q_RECIPIES, 
      new Response.Listener<JSONArray>() { 
       @Override 
       public void onResponse(JSONArray response) { 
        Log.d(TAG, response.toString()); 
        hidePDialog(); 

        // Parsing json 
        for (int i = 0; i < response.length(); i++) { 
         try { 

          JSONObject obj = response.getJSONObject(i); 
          Recipie movie = new Recipie(); 
          movie.setRecipieName(obj.getString("recipie_name")); 
          movie.setId(obj.getInt("id")); 
          // build the image URL here 
          String s = AppConfig.URL_IMAGE + obj.getInt("id") + ".jpeg"; 
          movie.setImageURL(s); 
          movie.setPrimaryIngrediant(obj.getString("prim_ingr")); 
          movie.setUrl(obj.getString("url")); 


          // adding movie to movies array movie is nothing but recipie 
          movieList.add(movie); 

         } catch (JSONException e) { 
          e.printStackTrace(); 
         } 

        } 

        // notifying list adapter about data changes 
        // so that it renders the list view with updated data 
        adapter.notifyDataSetChanged(); 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 

      Log.e(TAG, "Filter error: " + error.getMessage()); 
      Toast.makeText(getApplicationContext(), 
        error.getMessage(), Toast.LENGTH_LONG).show(); 
      hidePDialog(); 



     } 
    }) { 

      @Override 
      protected Map<String, String> getParams() { 
       // Posting parameters to login url 
       Map<String, String> params = new HashMap<String, String>(); 
       params.put("ind_ajwain", Integer.toString(session.isAjwainChecked())); 
       //params.put("ind_asaftide", Integer.toString(session.isAsaftideChecked())); 
       params.put("rec_name", "chicken"); /// change this 
       params.put("ind_ginger", "0"); 



       //params.put("password", password); 

       return params; 
      } 

    }; 
    Log.d(TAG, movieReq.toString()); 
    //movieReq. 

    AppController.getInstance().addToRequestQueue(movieReq); 
} 

私はドンをコーディング取得するには、このリンクをたどっ:出典:https://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/

私はパラメータのみを変更し、上記の多くの変更を行っていません。

答えて

0

new JsonArrayRequestにリクエストメソッドを渡しませんでした。あなたは合格する必要がありますRequest.Method.POSTまたはRequest.Method.GET

+0

private void jsonParseResponse(String response) { try { JSONObject jsonObject = new JSONObject(response); if (jsonObject.getString("status").equals("200")) { cc.showToast(jsonObject.getString("message")); } else { cc.showToast(jsonObject.getString("message")); } } catch (JSONException e) { e.printStackTrace(); Log.e("Forgot Error",e.toString()); } } 
それは '[ソースコード(https://android.googlesource.com/platform/frameworks/volley/+/e7cdf98078bc94a2e430d9edef7e9b01250765ac/src/com/android/volleyにMethod.GET'塩基であります/toolbox/JsonArrayRequest.java)。私は、OPが明確な問題の文脈を提供していなかったので、今のところこの答えを考慮しないだろう。 – Enzokie

1

Volleyを使用してサーバーにデータを送信するには、以下のコードを参照してください。

ステップ1:データを送信するためにPOSTメソッドを使用します。

法の下に作成します。

private void makeJsonSend() { 

    StringRequest jsonObjReq = new StringRequest(Request.Method.POST,Const.ServiceType.URL, 
      new Response.Listener<String>() { 

       @Override 
       public void onResponse(String response) { 
        Log.e("response:forgot", response); 
        jsonParseResponse(response); 
       } 

      }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError error) { 


      //show error message here 
     } 
    }) { 

     @Override 
     protected Map<String, String> getParams() throws AuthFailureError { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put("email","email"); 

      //pass parameter here 

      Log.i("request send data", params.toString()); 

      return params; 
     } 


     @Override 
     public Map<String, String> getHeaders() throws AuthFailureError { 
      HashMap<String, String> headers = new HashMap<>(); 

      //If you have header parameter then set here 
      return headers; 
     } 


    }; 

    AppController.getInstance().addToRequestQueue(movieReq); 

} 

ステップ2:あなたは、その操作の応答を取得する必要があり応答方法を。デフォルトで

+0

このコードでも同じことが起こっています。 – user1130456

+0

あなたはPostmanのWebサービスをチェックしていますか? –

関連する問題