Maison >Java >javaDidacticiel >Comment analyser un fichier JSON local à partir d'actifs dans un ListView sous Android ?
L'analyse des fichiers JSON à partir d'actifs locaux est une tâche courante dans la programmation Android, en particulier lorsque vous travaillez avec des données statiques. Voici comment vous pouvez y parvenir efficacement :
1. Lecture du fichier JSON :
public String loadJSONFromAsset() { String json = null; try { InputStream is = getActivity().getAssets().open("formules.json"); int size = is.available(); byte[] buffer = new byte[size]; is.read(buffer); is.close(); json = new String(buffer, "UTF-8"); } catch (IOException ex) { ex.printStackTrace(); return null; } return json; }
Cette méthode ouvre le fichier "formules.json" du dossier Assets, lit son contenu dans un tampon et renvoie la chaîne JSON résultante.
2. Analyse de la chaîne JSON :
try { JSONObject obj = new JSONObject(loadJSONFromAsset()); JSONArray m_jArry = obj.getJSONArray("formules"); ArrayList<HashMap<String, String>> formList = new ArrayList<>(); HashMap<String, String> m_li; for (int i = 0; i < m_jArry.length(); i++) { JSONObject jo_inside = m_jArry.getJSONObject(i); String formula_value = jo_inside.getString("formule"); String url_value = jo_inside.getString("url"); //Add values to the ArrayList as follows: m_li = new HashMap<>(); m_li.put("formule", formula_value); m_li.put("url", url_value); formList.add(m_li); } } catch (JSONException e) { e.printStackTrace(); }
Ici, nous analysons la chaîne JSON dans un JSONObject. Nous parcourons ensuite le tableau « formules » et extrayons les valeurs « formule » et « url ». Nous stockons ces valeurs dans un HashMap et les ajoutons à un ArrayList.
3. Affichage des données dans un ListView :
Une fois que vous avez les données dans un ArrayList, vous pouvez utiliser un ArrayAdapter pour les afficher dans un ListView. Créez un ArrayAdapter avec le contexte et la disposition appropriés, et définissez-le sur votre ListView.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!