我是android和volley的新手,我在this链接中做了一个教程。但是当我解析数据库中的数据时,结果只是" ?????"替换俄罗斯人物。由于我是编程新手,我无法在下面的代码中添加UTF-8。我真的希望看到确切添加额外代码的位置,以便其他语言不仅仅是英语。提前致谢。可以从下面提供的链接中查看额外的代码。
private void callNews(int page){
swipe.setRefreshing(true);
// Creating volley request obj
JsonArrayRequest arrReq = new JsonArrayRequest(url_list + page,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d(TAG, response.toString());
if (response.length() > 0) {
// Parsing json
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
NewsData news = new NewsData();
no = obj.getInt(TAG_NO);
news.setId(obj.getString(TAG_ID));
news.setJudul(obj.getString(TAG_JUDUL));
if (obj.getString(TAG_GAMBAR) != "") {
news.setGambar(obj.getString(TAG_GAMBAR));
}
news.setDatetime(obj.getString(TAG_TGL));
news.setIsi(obj.getString(TAG_ISI));
// adding news to news array
newsList.add(news);
if (no > offSet)
offSet = no;
Log.d(TAG, "offSet " + offSet);
} catch (JSONException e) {
Log.e(TAG, "JSON Parsing error: " + e.getMessage());
}
// notifying list adapter about data changes
// so that it renders the list view with updated data
adapter.notifyDataSetChanged();
}
}
swipe.setRefreshing(false);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
swipe.setRefreshing(false);
}
});
// Adding request to request queue
AppController.getInstance().addToRequestQueue(arrReq);
}
&#13;
答案 0 :(得分:0)
对于那些可能寻求相同解决方案的人。我通过改变&#34; obj.getString&#34;得到了解决方案。进入这个&#34; news.setJudul(new String(obj.getString(TAG_JUDUL).getBytes(&#34; UTF-8&#34;)));&#34;。