private Vector parseWallpaperThumbnailJSON(String response, List cmp) { Vector resultVector = new Vector(); Image blank = Image.createImage(50, 50); try { JSONObject jSONObject = new JSONObject(response); System.out.println(jSONObject); Enumeration e = jSONObject.keys(); while (e.hasMoreElements()) { String key = (String) e.nextElement(); // System.out.println(key + " : " + jSONObject.getString(key)); if (key.equalsIgnoreCase("wallpapers")) { JSONArray jSONArray = jSONObject.getJSONArray(key); for (int i = 0; i < jSONArray.length(); i++) { JSONObject wallpaper = jSONArray.getJSONObject(i); if (wallpaper.has("image_thumb_url") && wallpaper.has("image_category") && wallpaper.has("image_url") && wallpaper.has("wallpaper_price")) { // download the thumbnail and display it. Hashtable hashtable = new Hashtable(); hashtable.put("wallpaperThumbnailURL", wallpaper.getString("image_thumb_url")); hashtable.put("wallpaperURL", wallpaper.get("image_url")); hashtable.put("wallpaperPrice", "Price: " + wallpaper.get("wallpaper_price")); hashtable.put("wallpaperIcon", blank); resultVector.addElement(hashtable); final ImageDownloadService ids = new ImageDownloadService( wallpaper.getString("image_thumb_url"), cmp, resultVector.size() - 1, "wallpaperIcon") { protected void handleException(Exception err) { if (err instanceof NullPointerException) { System.out.println("NULL POINTER EXCEPTION CAUGHT"); return; } super.handleException( err); // To change body of generated methods, choose Tools | Templates. } }; NetworkManager.getInstance().addToQueue(ids); } } } } } catch (Exception ex) { System.out.println("error downloading images."); ex.printStackTrace(); Dialog.show(null, "error downloading images", "OK", null); } return resultVector; }
/** * this method should be used to initialize variables instead of the constructor/class scope to * avoid race conditions */ protected void initVars() { NetworkManager.getInstance().start(); }