Что работает: Ниже метод с использованием залпа работает для отправки JSON необработанных данныхКак отправить Raw текстовых данных с использованием залп андроида
То, что я пытаюсь сделать: Попытки отправить Необработанные текстовые данные, которые невозможно выполнить. Как достичь этого .... ниже снимок показывает данные Почтальон я пытаюсь отправить
public <T> void MasterWordListCall(Class<T> theClass, Activity context, int position,
String mApi, int mGetOrPost, JSONObject stringObjectMap) {
//progress = CommonFunctions.showLoadingDialog(progress, ActDrawAreaTwo.this);
Map<String, String> params = new HashMap<>();
Map<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json");
Iterator it = params.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry) it.next();
Log.d(context.getClass().getCanonicalName(), "params - " + pairs.getKey() + ", " + pairs.getValue());
}
String url = AppConstants.SERVER_URL + mApi + "/";
Log.d("FinalUrl:->", url);
RequestQueue requestQueue = Volley.newRequestQueue(ActLogin.this);
CustomRequest jsObjRequest = new CustomRequest(Request.Method.POST,
url,
stringObjectMap,
params,
headers,
this.createRequestSuccessListener(),
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progress.dismiss();
}
});
RequestQueueHelper.addToRequestQueue(jsObjRequest, "");
//requestQueue.add(jsObjRequest);
//new JSONObject(params)
}
private Response.Listener<JSONObject> createRequestSuccessListener() {
return new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
CommonFunctions.dismissLoadingDialog(progress);
if(response!=null){
Toast.makeText(ActLogin.this,"Success",Toast.LENGTH_LONG);
/*Intent mIntent = new Intent(ActLogin.this,ActSuccess.class);
mIntent.putExtra("data", mWord);
mIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(mIntent);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
finish();*/
}else if(response==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);
}
}
Вы пробовали 'StringRequest' в Volley? а также вам нужно установить заголовок как «контент-тип приложения/текст» –
Ответы на все ответы на stackoverflow для этого .... Я не пробовал! ........ Данные, которые, я думаю, должны быть необработанными данными .... не hashmap, я думаю, как params – Devrath
Я уже достиг этого. Если вы не можете найти, то я могу опубликовать свой код здесь :) –