我正在构建一篇阅读像TechChurn这样的Android应用程序的文章。我以json的形式从服务器获取数据。
我正在从json解析标题,作者姓名和文章内容,并在列表视图中显示它。 我面临的问题是,当服务器端没有响应时,我需要一个toast,这意味着如果我从服务器请求一些数据,只是假设时间服务器已关闭而且没有回复时间应用程序可以吐司 这是我的代码 -
JsonArrayRequest movieReq = new JsonArrayRequest(URL,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d(TAG, response.toString());
// Parsing json
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
Movie movie = new Movie();
movie.setTitle(obj.getString("title"));
movie.setDate(obj.getString("date"));
movieList.add(movie);
答案 0 :(得分:0)
如何使用Response.ErrorListener
?
Response.Listener<JSONArray> listener = new Response.Listener<JSONArray>()
{
@Override
public void onResponse(JSONArray response) {
Log.d(TAG, response.toString());
// Parsing json
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
Movie movie = new Movie();
movie.setTitle(obj.getString("title"));
movie.setDate(obj.getString("date"));
movieList.add(movie);
// the rest of your logic ...
}
};
Response.ErrorListener errorListener = new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "Oops!", Toast.LENGTH_LONG).show();
}
};
JsonArrayRequest movieReq = new JsonArrayRequest(URL, listener, errorListener);
答案 1 :(得分:0)
或者你可以简单地尝试捕获IOexception:
} catch (IOException
Log.e(TAG, "Failed to register on attempt " + i + ":" + e);
if (i == MAX_ATTEMPTS) {
break;
}