2016-11-10 202 views
1

我想創建一個android應用程序,它使用API​​來顯示列表視圖上的一些信息。我面臨的問題是,我想要下載的json文件對於String對象來說太大了。我的教師告訴我,Android Studio以某種方式限制了字符串的大小。我收到「恆定字符串太長」的錯誤。 我有可能將這些信息作爲json文件下載(實際上是.geojson),並將其存儲在磁盤的某個位置(實際上我可以下載文件),然後通過讀取它來解析它,而不使用任何String對象文件本身。或者你是否因爲我是編程新手而提出了另一種方法?如何在不使用String的情況下創建JSON對象?

+1

'你可以提出另一種方法嗎?是的使用[JsonReader](https://developer.android.com/reference/android/util/JsonReader.html)來解析JSON而不用在String或StringBuffer中保存它 –

+0

我建議你在從服務器檢索時分解如此巨大的信息(因爲你可能不會一次顯示所有信息),或者像其他文件一樣通過其他方式下載,並使用JsonReader從本地系統讀取。 –

+0

嘗試https://square.github.io/retrofit/ – Bills

回答

0

我發現的解決方案是在我的項目中使用簡單的JSON簡單庫。 你可以從here得到它。我下載到存儲JSON文件 之後,我分析它使用下面的代碼:

JSONParser parser = new JSONParser(); 
    Object obj = null; 

    try { 
     obj = parser.parse(new FileReader(directory of the folder + "/fileName.extension")); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } catch (org.json.simple.parser.ParseException e) { 
     e.printStackTrace(); 
    } 

    JSONObject jsonObject = (JSONObject) obj; 

現在你可以使用JSONObject的,你怎麼想。

相關問題