2017-02-24 59 views
1

我创建一个应用程序,我可以做报告,并在按钮上单击没有任何反应,即使没有响应,吐司没有出现。这个抽象的帖子我以前用过,它是正确的,我应该写的另一件事是我必须发送令牌进行授权。 这是我的代码:Android Volley发布请求无法在点击上工作?

 //this is button click 
 
     btnUpload.setOnClickListener(new View.OnClickListener() { 
 

 
      @Override 
 
      public void onClick(View v) { 
 

 
       volley_send(); 
 

 

 
       } 
 

 
     }); 
 
     
 
     //----------------------------------------------------- 
 
     
 
     //this is volley post 
 
     
 
private void volley_send(){ 
 

 

 
     StringRequest stringRequest = new StringRequest(Request.Method.POST, "my_url", 
 
       new Response.Listener<String>() { 
 
        @Override 
 
        public void onResponse(String response) { 
 
         
 
         // save_on_sharedPreference("email",email); 
 
         
 

 

 
         if(!response.isEmpty()){ 
 
          try { 
 

 
           JSONObject jsonObject = new JSONObject(response); 
 
           error = jsonObject.getBoolean("error"); 
 
           String message = jsonObject.getString("message"); 
 

 
           if(!error){ 
 

 
            //String token = jsonObject.getString("token"); 
 
            //JSONObject data = jsonObject.getJSONObject("data"); 
 

 

 

 
            
 

 
            Toast.makeText(getApplicationContext(),message,Toast.LENGTH_SHORT).show(); 
 

 
            Intent intent = new Intent(getApplicationContext(), Raport_Cat_NoPhoto.class); 
 
            startActivity(intent); 
 

 
           } 
 
           else{ 
 
            Toast.makeText(getApplicationContext(),message,Toast.LENGTH_SHORT).show(); 
 
           } 
 

 

 

 
           // JSONArray feedArray = response.getJSONArray("data"); 
 
          } catch (JSONException e) { 
 
           e.printStackTrace(); 
 
           System.out.println("JSONException :"+e.toString()); 
 

 
          } 
 
         } 
 

 
        } 
 
       }, 
 
       new Response.ErrorListener() { 
 
        @Override 
 
        public void onErrorResponse(VolleyError error) { 
 

 
         if (error instanceof TimeoutError || error instanceof NoConnectionError) { 
 
          Toast.makeText(getApplicationContext(),getString(R.string.err_connection),Toast.LENGTH_SHORT).show(); 
 
         } else if (error instanceof AuthFailureError) { 
 
          //TODO 
 
          //Toast.makeText(getApplicationContext(),"2",Toast.LENGTH_SHORT).show(); 
 
          Toast.makeText(getApplicationContext(),getString(R.string.err_authentication),Toast.LENGTH_SHORT).show(); 
 
         } else if (error instanceof ServerError) { 
 
          //TODO 
 
          //Toast.makeText(getApplicationContext(),"3",Toast.LENGTH_SHORT).show(); 
 
          Toast.makeText(getApplicationContext(),getString(R.string.err_system),Toast.LENGTH_SHORT).show(); 
 
         } else if (error instanceof NetworkError) { 
 
          //TODO 
 
          //Toast.makeText(getApplicationContext(),"4",Toast.LENGTH_SHORT).show(); 
 
          Toast.makeText(getApplicationContext(),getString(R.string.err_network),Toast.LENGTH_SHORT).show(); 
 
         } else if (error instanceof ParseError) { 
 
          //TODO 
 
          //Toast.makeText(getApplicationContext(),"5",Toast.LENGTH_SHORT).show(); 
 
          Toast.makeText(getApplicationContext(),getString(R.string.err_processing),Toast.LENGTH_SHORT).show(); 
 
         } 
 

 
        } 
 
       }){ 
 

 

 
      @Override 
 
      public Map<String, String> getHeaders() throws AuthFailureError { 
 
       HashMap<String, String> headers = new HashMap<String, String>(); 
 
       headers.put("Authorization","Bearer "+ApiKey); 
 
       return headers; 
 
      } 
 

 
      @Override 
 
      protected Map<String,String> getParams(){ 
 
       Map<String,String> params = new HashMap<String, String>(); 
 
       params.put("category","cat_ankese"); 
 
       params.put("description",description.getText().toString()); 
 
       params.put("city",Qyteti); 
 
       params.put("fshati",fshati.getText().toString()); 
 
       params.put("address",address.getText().toString()); 
 
       params.put("additional_information1",personidyshuar.getText().toString()); 
 
       params.put("name",emer.getText().toString()); 
 
       params.put("surname",mbiemer.getText().toString()); 
 
       params.put("telephone",telefon.getText().toString()); 
 
       params.put("email",email.getText().toString()); 
 
       params.put("info_latt",my_latitude); 
 
       params.put("info_long",my_longitude); 
 
       params.put("file[]",image123); 
 
       return params; 
 
      } 
 

 
     }; 
 

 
     RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); 
 
     requestQueue.add(stringRequest); 
 
    }

我不知道什么是错的...

+0

其中是您的volley_send()方法?请发布完整代码 – tahsinRupam

+0

即时通讯对不起,因为我从我的语言编辑它,我忘了将volley_dergo()更改为volley_send() –

+0

您是否在AndroidManifest.xml文件中添加了Internet权限? – Joseph

回答

0

SEMS像问题是与授权头,以任何理由它需要只有一个参数。谢谢大家的回复!