如何使用volley android发送原始文本数据

如何使用volley android发送原始文本数据,android,android-volley,Android,Android Volley,什么在起作用: 下面使用volley的方法用于发送JSON原始数据 我想做什么: 正在尝试发送原始文本数据,无法执行此操作。如何做到这一点。。。。下面的快照显示了我试图发送的邮递员数据 public void MasterWordListCall(类、活动上下文、int位置、, 字符串mApi、int-mGetOrPost、JSONObject-stringObjectMap){ //progress=CommonFunctions.showLoadingDialog(progress,A

什么在起作用: 下面使用volley的方法用于发送JSON原始数据


我想做什么: 正在尝试发送原始文本数据,无法执行此操作。如何做到这一点。。。。下面的快照显示了我试图发送的邮递员数据


public void MasterWordListCall(类、活动上下文、int位置、,
字符串mApi、int-mGetOrPost、JSONObject-stringObjectMap){
//progress=CommonFunctions.showLoadingDialog(progress,ActDrawArea2.this);
Map params=新的HashMap();
Map headers=newhashmap();
headers.put(“内容类型”、“应用程序/json”);
迭代器it=params.entrySet().Iterator();
while(it.hasNext()){
Map.Entry pairs=(Map.Entry)it.next();
Log.d(context.getClass().getCanonicalName(),“params-”+pairs.getKey()+”,“+pairs.getValue());
}
字符串url=AppConstants.SERVER_url+mApi+“/”;
Log.d(“最终结果:->”,url);
RequestQueue RequestQueue=Volley.newRequestQueue(ActLogin.this);
CustomRequest jsObjRequest=新的CustomRequest(Request.Method.POST,
网址,
stringObjectMap,
params,
标题,
此.createRequestSuccessListener(),
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
进步。解散();
}
});
RequestQueueHelper.addToRequestQueue(jsObjRequest,“”);
//add(jsObjRequest);
//新JSONObject(参数)
}
私有响应。侦听器createRequestSuccessListener(){
返回新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
CommonFunctions.dismissLoadingDialog(进度);
if(响应!=null){
Toast.makeText(ActLogin.this,“Success”,Toast.LENGTH\u LONG);
/*Intent MINENT=新的Intent(ActLogin.this,ActSuccess.class);
Minent.putExtra(“数据”,mWord);
minent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
星触觉;
重写转换(android.R.anim.fade\u-in,android.R.anim.fade\u-out);
完成()*/
}else if(响应==null){
}
}
};
}

CustomRequest.java

public class CustomRequest extends JsonObjectRequest {

    private Listener<JSONObject> listener;
    private Map<String, String> params;
    private Map<String, String> headers;

    public CustomRequest(int put, String url,
                         JSONObject stringObjectMap, Map<String, String> params,
                         Map<String, String> headers,
                         Response.Listener<JSONObject> reponseListener,
                         ErrorListener errorListener) {
        //super(put, url, errorListener);

        super(put, url, (stringObjectMap == null) ? null : stringObjectMap.toString(), reponseListener,
                errorListener);
        this.listener = reponseListener;
        this.params = params;
        this.headers = headers;
    }

    /*public CustomRequest(int method,
                         String url,
                         Map<String, String> params,
                         Map<String, String> headers,
                         Listener<JSONObject> reponseListener,
                         ErrorListener errorListener) {
        super(method, url, errorListener);
        this.listener = reponseListener;
        this.params = params;
        this.headers = headers;
    }*/

    protected Map<String, String> getParams()
            throws com.android.volley.AuthFailureError {
        return params;
    };

    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        return headers != null ? headers : super.getHeaders();
    }

    @Override
    protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
        try {
            String jsonString = new String(response.data,
                    HttpHeaderParser.parseCharset(response.headers));
            return Response.success(new JSONObject(jsonString),
                    HttpHeaderParser.parseCacheHeaders(response));
        } catch (UnsupportedEncodingException e) {
            return Response.error(new ParseError(e));
        } catch (JSONException je) {
            return Response.error(new ParseError(je));
        }
    }

    @Override
    protected void deliverResponse(JSONObject response) {
        // TODO Auto-generated method stub
        listener.onResponse(response);
    }
}
public类CustomRequest扩展了JsonObjectRequest{
私人倾听者;
私有映射参数;
私有映射头;
公共CustomRequest(int-put,字符串url,
JSONObject stringObjectMap,映射参数,
地图标题,
Response.Listener reponseListener,
ErrorListener(错误监听器){
//super(put、url、errorListener);
super(put,url,(stringObjectMap==null)?null:stringObjectMap.toString(),reponListener,
错误监听器);
this.listener=reponlistener;
this.params=params;
this.headers=标题;
}
/*公共定制请求(int方法,
字符串url,
映射参数,
地图标题,
监听器重新监听器,
ErrorListener(错误监听器){
super(方法、url、errorListener);
this.listener=reponlistener;
this.params=params;
this.headers=标题;
}*/
受保护的映射getParams()
抛出com.android.volley.AuthFailureError{
返回参数;
};
@凌驾
公共映射getHeaders()引发AuthFailureError{
返回标题!=null?标题:super.getHeaders();
}
@凌驾
受保护的响应parseNetworkResponse(NetworkResponse响应){
试一试{
String jsonString=新字符串(response.data,
HttpHeaderParser.parseCharset(response.headers));
返回Response.success(新的JSONObject(jsonString),
HttpHeaderParser.parseCacheHeaders(响应));
}捕获(不支持的编码异常e){
返回Response.error(新的ParseError(e));
}捕获(JSONException je){
返回Response.error(newparseerror(je));
}
}
@凌驾
受保护的void deliverResponse(JSONObject响应){
//TODO自动生成的方法存根
onResponse(response);
}
}

您可以使用截击发送纯文本数据

public void senddastring(最终截击回调,最终字符串appData){
stringuri=String.format(Locale.US,URL);
StringRequest StringRequest=新的StringRequest(Request.Method.POST,uri,
新建com.android.volley.Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
Log.d(标签,“字符串成功:”+响应);
}
},
新建com.android.volley.Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Log.d(标记“请求中的字符串错误:”+Error.toString());
}
}) {
@凌驾
受保护的响应parseNetworkResponse(NetworkResponse响应){
字符串StringResponse=“”;
试一试{
StringResponse=新字符串(response.data,
HttpHeaderParser.parseCh
public class CustomRequest extends JsonObjectRequest {

    private Listener<JSONObject> listener;
    private Map<String, String> params;
    private Map<String, String> headers;

    public CustomRequest(int put, String url,
                         JSONObject stringObjectMap, Map<String, String> params,
                         Map<String, String> headers,
                         Response.Listener<JSONObject> reponseListener,
                         ErrorListener errorListener) {
        //super(put, url, errorListener);

        super(put, url, (stringObjectMap == null) ? null : stringObjectMap.toString(), reponseListener,
                errorListener);
        this.listener = reponseListener;
        this.params = params;
        this.headers = headers;
    }

    /*public CustomRequest(int method,
                         String url,
                         Map<String, String> params,
                         Map<String, String> headers,
                         Listener<JSONObject> reponseListener,
                         ErrorListener errorListener) {
        super(method, url, errorListener);
        this.listener = reponseListener;
        this.params = params;
        this.headers = headers;
    }*/

    protected Map<String, String> getParams()
            throws com.android.volley.AuthFailureError {
        return params;
    };

    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        return headers != null ? headers : super.getHeaders();
    }

    @Override
    protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
        try {
            String jsonString = new String(response.data,
                    HttpHeaderParser.parseCharset(response.headers));
            return Response.success(new JSONObject(jsonString),
                    HttpHeaderParser.parseCacheHeaders(response));
        } catch (UnsupportedEncodingException e) {
            return Response.error(new ParseError(e));
        } catch (JSONException je) {
            return Response.error(new ParseError(je));
        }
    }

    @Override
    protected void deliverResponse(JSONObject response) {
        // TODO Auto-generated method stub
        listener.onResponse(response);
    }
}
   public void sendDataString(final VolleyCallback callback, final String appData) {
            String uri = String.format(Locale.US, URL);
            StringRequest stringRequest = new StringRequest(Request.Method.POST, uri,
                    new com.android.volley.Response.Listener<String>() {
                        @Override
                        public void onResponse(String response) {
                            Log.d(TAG, "String Success :" + response);
                        }
                    },
                    new com.android.volley.Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            Log.d(TAG, "String  Error In Request :" + error.toString());

                        }
                    }) {
                @Override
                protected Response<String> parseNetworkResponse(NetworkResponse response) {
                    String StringResponse = "";
                    try {
                        StringResponse = new String(response.data,
                                HttpHeaderParser.parseCharset(response.headers));
                        HttpHeaderParser.parseCharset(response.headers);
                        Log.d(TAG, "Response Headers " + response.headers);
                        Log.d(TAG, "String Status Code " + response.statusCode);
                        Log.d(TAG, "String response data :  " + new String(response.data));
                    } catch (UnsupportedEncodingException e) {
                        return Response.error(new ParseError(e));
                    }
                    callback.onSuccess(response.data.toString(), response.statusCode);
                    return super.parseNetworkResponse(response);
                }

                @Override
                public byte[] getBody() throws AuthFailureError {
                    return appData.getBytes();
                }

                @Override
                public Map<String, String> getHeaders() throws AuthFailureError {
                    HashMap<String, String> headers = new HashMap<String, String>();
                    headers.put("Content-Type", "application/text");
                    headers.put("charset", TYPE_UTF8_CHARSET);
                    return headers;
                }
            };
            stringRequest.setRetryPolicy(defaultRetryPolicy);
//if you are using OkHTTP with Stack.
            ApplicationController.getInstance().addToRequestQueue(stringRequest, TAG);
        }
String url = "";
    RequestQueue queue = Volley.newRequestQueue(this);
    StringRequest request = new StringRequest(Request.Method.GET, url,
        new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                // Is the responds is success
            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                // Is the responds is fail
            }
        }
    ){
        @Override
        protected Map<String, String> getParams() {
            Map<String,String> map = new HashMap<>();
            map.put("grant_type","SET_VALUE");
            // Add all parameters here
            return map;
        }
    };
    queue.add(request);