目的:當App中用到固定的json資料時,如:國家城市清單、班級成員等時,可以将json資料制作為本地json檔案存入assets檔案夾下。
步驟如下:
1、建立assets檔案夾,并将json檔案複制到此檔案夾中
在main檔案夾下建立assets檔案,然後再assets檔案中建立namelist.json檔案夾,将json資料複制到test.json檔案中。
2、通路json檔案
try {
AssetManager assetManager = getAssets(); // 獲得assets資料總管(assets中的檔案無法直接通路,可以使用AssetManager通路)
InputStreamReader inputStreamReader = new InputStreamReader(assetManager.open("namelist.json"),"UTF-8"); // 使用IO流讀取json檔案内容
BufferedReader br = new BufferedReader(inputStreamReader);
String line;
StringBuilder builder = new StringBuilder();
while ((line = br.readLine())!=null){
builder.append(line);
}
br.close();
inputStreamReader.close();
JSONObject testJson = new JSONObject(builder.toString()); // 從builder中讀取了json中的資料。
// 直接傳入JSONObject來構造一個執行個體
JSONArray array = testJson.getJSONArray("nameList");
Log.e("nameList",array.toString());
for (int i = ;i<array.length();i++){
strings[i] = array.getString(i);
}
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}