JsonRequestを継承するアンドロイドスタジオのクラスを作成しましたが、アンドロイドスタジオでエラーが発生し、ライブラリにデフォルトのコンストラクタが存在しないため、それのために。 実際に私は、アンドロイドのリストビューでjsonファイルを解析するためにvolleyライブラリを使用しています。 原因jsonはこのクラスを作成したすべてのペルシア語のテキストで、utf-8エンコーディングに変更されています。 必要なコンストラクタがどのようになっているかを教えてください。私はいくつか試しましたが、正しくありませんでした。JsonRequestを継承するクラスのコンストラクタを作成する<JSONObject>
public class Utf8JsonRequest extends JsonRequest<JSONObject> {
...
@Override
protected Response<JSONObject> parseNetworkResponse (NetworkResponse response) {
try {
String utf8String = new String(response.data, "UTF-8");
return Response.success(new JSONObject(utf8String), HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
// log error
return Response.error(new ParseError(e));
} catch (JSONException e) {
// log error
return Response.error(new ParseError(e));
}
}
}
は、すでにutf-8でエンコードされているペルシア語のテキストではありませんか? – nandsito
@nandsitoデフォルトでは、volleyライブラリのエンコーダはISO-8859-1で、ペルシア語またはアラビア語のテキストは表示されません – Aliryanfox