2016-01-26 48 views
0

這是我的JSON代碼。我想第一次緩存來自URL的JSON數據,第二次它將在沒有internet的情況下工作。如何在哪裏使用抽排緩存工具,以及如何訪問保存的文件?如何使用Volley庫從JSON數據進行緩存?

StringRequest stringRequest = new StringRequest(Request.Method.GET, Constants.URL_CONTACTS, new Response.Listener<String>() { 
      @Override 
      public void onResponse(final String response) { 
       new Thread(new Runnable() { 
        @Override 
        public void run() { 
         try{ 
          JSONObject jsonObject = new JSONObject(response); 
          if(jsonObject.has(Constants.TAG_EXAM)) { 
       JSONArray examArray = jsonObject.getJSONArray(Constants.TAG_EXAM); 
           for(int i = 0; i < examArray.length(); i++) { 
            // get all array from JSON object 
            JSONObject seat = examArray.getJSONObject(i); 
    } 
          } 
          handler.sendEmptyMessage(1); 
         } catch (JSONException e) { 
          handler.sendEmptyMessage(2); 
          e.printStackTrace(); 
         } catch (NullPointerException e) { 
          handler.sendEmptyMessage(3); 
          e.printStackTrace(); 
         } 
        } 
       }).start(); 
      } 
     }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       error.printStackTrace(); 
      }`` 
     })` 
+1

[Android Volley + JSONObjectRequest Caching]的可能重複(http://stackoverflow.com/questions/16781244/android-volley-jsonobjectrequest-caching) –

回答

1

凌空沒有提供這樣的高速緩存工具來緩存JSON,您可以使用mapLruCache使it.because您的JSON會少,使用較少的內存,你可以用地圖來創建自己的高速緩存工具保存它,這將是我認爲最簡單的方法。

+0

檢查此問題http://stackoverflow.com/questions/16781244/android -volley-jsonobjectrequest緩存/ 16852314#16852314 – Jalpesh

0

您可以使用SharedPreferences緩存volley的響應,因爲它是一個字符串。

相關問題