Salve a tutti,
sto cercando di sviluppare un'applicazione che da una pagina FB pubblica mi ritorni le foto e le visualizzi. La prima cosa che dovevo semplicemente fare era quella di leggere il json relativo alla pagina e ricavare le informazioni. Su androidhive ho trovato un tutorial che sembrava fare al caso mio (androidhive . info/2012/01/android-json-parsing-tutorial/), ma quando cerco di leggere il mio graph non sembra accedere ai dati, mi ritorna "JSONException: No value for data".
Nella mia ignorantità credo sia dovuto al fatto che -probabilmente- c'è un livello di troppo tra l'esempio si androidhive e il json che mi ritorna FB, e non sono in grado di venirne a capo. Eccovi la porzione di codice incriminata:
codice:
public String url="http : / / graph . facebook . com/437765652929613?fields=photos";
private static final String TAG_DATA = "data";
private static final String TAG_ID = "id";
private static final String TAG_NAME = "name";
private static final String TAG_IMG = "source";
ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();
// Creating JSON Parser instance
JSONParser jParser = new JSONParser();
// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl(url);
try {
// Getting Array of Contacts
contacts = json.getJSONArray(TAG_DATA);
// looping through All Contacts
for(int i = 0; i < contacts.length(); i++){
JSONObject c = contacts.getJSONObject(i);
// Storing each json item in variable
String id = c.getString(TAG_ID);
String name = c.getString(TAG_NAME);
String img = c.getString(TAG_IMG);
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
map.put(TAG_ID, id);
map.put(TAG_NAME, name);
map.put(TAG_IMG, img);
// adding HashList to ArrayList
contactList.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
Fatemi sapere cosa ne pensate, che non riesco a cavarne un ragno da un buco.
Grazie.