حل کردن مشکل فارسی در کتابخانه ی volley برای همیشه با ساخت یک کلاس جدید به نام JsonArrayRequestUTF8 - این کلاس برای متدهای JsonObjectRequest و StringRequest نیز کاربرد دارد کافیست نام کلاس مشتق شده را تغییر دهید و نوع متغیرهای ارسالی دریافتی را بسته به نام کلاس عوض کنید
/**
* Created by Abbas Nikzad on 5/27/2016.
*/
public class JsonArrayRequestUtf8 extends JsonArrayRequest {
public JsonArrayRequestUtf8(String url, Response.Listener<JSONArray> listener, Response.ErrorListener errorListener) {
super(url, listener, errorListener);
}
@Override
protected Response<JSONArray> parseNetworkResponse(NetworkResponse response) {
try {
String json = new String(
response.data,
"UTF-8"
);
return Response.success(
new JSONArray(json),
HttpHeaderParser.parseCacheHeaders(response)
);
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
} catch (JSONException e) {
return Response.error(new ParseError(e));
}
}
}
}
توضیحات اضافی :
یک کلاس جدید بسازید و محتویات کدهای بالا را کپی کنید حال نام کلاس را منبطق با نام فایلی کلاسی که درست کردید عوض کنید
از این پس برای درخواست های خود از این کلاس استفاده کنید