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