Volley Multipart请求getBodyContentType不起作用

时间:2017-12-05 05:57:34

标签: android android-volley

我想将stringvolley参数发送到服务器SimpleMultiPartRequest params但是打印来自else部分的响应并获取消息输入userid值但是我仍在给userid in Multipart,它无法正常工作我试图找到更多解决方案,但没有人工作请告诉我这里出了什么问题,我是凌空private void addDetailsMultipartRequest(String userId,String Laddress,String description,String fishTypeId, String quantity,double lat,double longitude,String date,String ispublic){ SimpleMultiPartRequest addDetailsMultiPartRequest = new SimpleMultiPartRequest(Request.Method.POST, Constants.BASE_URL+getResources().getString(R.string.add_details_url), new Response.Listener<String>() { @Override public void onResponse(String response) { try{ JSONObject jsonObject=new JSONObject(response); JSONObject Json=jsonObject.getJSONObject("settings"); String mesg=Json.getString("message"); if (Json.getString("success").equals(Constants.SUCCESS_CODE)){ Toast.makeText(context,"success",Toast.LENGTH_SHORT).show(); }else { Toast.makeText(context,"went wrong",Toast.LENGTH_SHORT).show(); } }catch (Exception e){ //loader.dismiss(); e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(context,error.toString(),Toast.LENGTH_SHORT).show(); //loader.dismiss(); } }){ @Override public String getBodyContentType() { return "application/x-www-form-urlencoded"; } @Override public Map<String, String> getHeaders() throws AuthFailureError { Map<String, String> headers = new HashMap<>(); headers.put("Accept", "application/json"); return headers; } }; addDetailsMultiPartRequest.addStringParam("iUserId", userId); addDetailsMultiPartRequest.addStringParam("vLocationName", Laddress); addDetailsMultiPartRequest.addStringParam("iFishTypeId",fishTypeId); addDetailsMultiPartRequest.addStringParam("iQuantity",quantity); addDetailsMultiPartRequest.addStringParam("vDescription",description); addDetailsMultiPartRequest.addStringParam("vLatitude",""+lat); addDetailsMultiPartRequest.addStringParam("vLongitude",""+longitude); addDetailsMultiPartRequest.addStringParam("dAddedDate",date); addDetailsMultiPartRequest.addStringParam("ePublic",ispublic); addDetailsMultiPartRequest.addStringParam("lang_id","EN"); addDetailsMultiPartRequest.addStringParam("ws_token","WS/create_token/?ws_preview_type=android"); if (mfile!=null && mfile.exists()){ addDetailsMultiPartRequest.addFile("vImage", mfile.getPath()); }else { addDetailsMultiPartRequest.addFile("vImage",""); } volleyRequestQ.add(addDetailsMultiPartRequest); } 请求的新手,我找不到什么它出了问题..

这是我的截击请求

 @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        if (viewType == TASK_VIEW) {
            return new TasksViewHolder(LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.item_task_row, parent, false));
        } else if (viewType == CHECKIN_VIEW) {
            return new CheckInViewHolder(LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.item_checkin_row, parent, false));
        } else {
            return null;
        }
    }


@Override
private void onBindCheckInViewHolder(CheckInViewHolder holder, int position) {
    final JobCheckIn singleCheckIn = (JobCheckIn) items.get(position);
    holder.location.setText(singleCheckIn.getAddress());

    holder.lastUpdated.setText(String.valueOf("Created " +
            activity.getDateTime(singleCheckIn.getCreatedDateTime())));

    holder.deleteTask.setOnClickListener(view -> jobInterface.deleteCheckIn(singleCheckIn.getId()));

    float f = 0.0f;
    if (holder.mapView != null && Float.compare(singleCheckIn.getLatitude(), f) != 0 &&
            Float.compare(singleCheckIn.getLongitude(), f) != 0) {
        holder.mapView.setVisibility(View.VISIBLE);
        holder.initializeMapView();
        if (holder.gMap != null) {
            // The map is already ready to be used
            moveMap(holder.gMap, singleCheckIn.getLatitude(), singleCheckIn.getLongitude());
        }
    }

}
   public class CheckInViewHolder extends RecyclerView.ViewHolder implements OnMapReadyCallback {

    MapView mapView;

    GoogleMap gMap;


    public CheckInViewHolder(View view) {
        super(view);
        mapView = view.findViewById(R.id.checkInMapView);

    }


    @Override
    public void onMapReady(GoogleMap googleMap) {
        MapsInitializer.initialize(context);
        gMap = googleMap;
        googleMap.getUiSettings().setMapToolbarEnabled(false);
        if(items.get(getLayoutPosition())!=null )
            moveMap(gMap,((JobCheckIn) items.get(getLayoutPosition())).getLatitude(), ((JobCheckIn) items.get(getLayoutPosition())).getLongitude());
    }
    public void initializeMapView() {
        if (mapView != null) {
            // Initialise the MapView
            mapView.onCreate(null);
            // Set the map ready callback to receive the GoogleMap object
            mapView.getMapAsync(this);

        }
    }
}
 public void moveMap(GoogleMap gMap, double latitude, double longitude) {
    Log.v(TAG, "mapMoved: " + gMap);
    LatLng latlng = new LatLng(latitude, longitude);
    CameraUpdate cu = CameraUpdateFactory.newLatLngZoom(latlng, 6);
    gMap.addMarker(new MarkerOptions().position(latlng));
    gMap.moveCamera(cu);
}

0 个答案:

没有答案