我有一個android應用程序,從url下載json數據,解析並顯示它。 不幸的是,我會遠離互聯網一段時間,但想繼續在應用程序上工作。保存本地開發的url的JSON
有沒有一種方法可以將這些數據保存爲脫機使用?
從本質上講,是有辦法,我可以硬編碼JSONObject
使用在link
所以,我會在本地找到的數據?
我有一個android應用程序,從url下載json數據,解析並顯示它。 不幸的是,我會遠離互聯網一段時間,但想繼續在應用程序上工作。保存本地開發的url的JSON
有沒有一種方法可以將這些數據保存爲脫機使用?
從本質上講,是有辦法,我可以硬編碼JSONObject
使用在link
所以,我會在本地找到的數據?
如果您已經安裝在你的機器http服務器,你可以從設備保存JSON數據爲文本文件,並獲得它的網址:「http://10.0.2.2:PORT_NUMBER」
另一種解決方案,無需http服務器,您可以將數據保存爲文本文件,並從您的設備訪問它,在這個答案解釋: Reading a simple text file
編輯: 簡單的方法是隻保存在一個字符串中的數據:
String stringJson = "{\"Baseball\":[{\"Opponent\": ... "
(要知道,你將不得不使用\字符「)
解析JSON數據,所有你需要做的是
的JSONObject的JSONObject =新的JSONObject(stringJson);
將資產目錄下的json存儲在文件中的另一種選擇。然後,你就可以進入電影它就像在你的應用程序的任何其他文件:
http://developer.android.com/reference/android/content/res/AssetManager.html
,可以有以下選擇:
使用RoboSpice庫
採用Android凌空庫
Both上面的庫具有緩存功能。在有條件情況下,您可以使緩存無效以檢索更新的數據
使用共享首選項來存儲JSON字符串,並在需要時進行更新。
要存儲數據:
SharedPreferences settings = getApplicationContext().getSharedPreferences("PREF_NAME", MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString("strJSON", "" + strJSONfromServer);
editor.commit();
檢索數據:
SharedPreferences settings = getApplicationContext().getSharedPreferences("PREF_NAME", MODE_PRIVATE);
String strData = settings.getString("strJSON", "");
清除數據:
SharedPreferences settings = getApplicationContext().getSharedPreferences("strJSON",MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.remove("strJSON");
editor.commit();
嘗試SQLite的是存儲的JSONObject和提高性能的正確的選擇你的應用。 –
你可以得到JSON數據,然後將其內部保存在數據庫或持久性文件,然後從文件中讀取現在 – dchhetri
或者只是複製和硬編碼它,沒有什麼不對的測試使用 – dchhetri