Ciao a tutti,
sto sviluppando la mia prima applicazione Android; in tal senso sto richiamando una pagina PHP che effettua un'interrogazione ad un database e mi restituisce un oggetto JSON che poi voglio gestire nella mia applicazione.
A tal proposito ho scritto il codice prendendo spunto da un esempio; questo il codice interessato:
Mi viene segnalato un errore sull'istruzionecodice:public void RecuperaInfo() { String result = ""; ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("cap", "08026")); InputStream is; //http post try { HttpClient httpclient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost("http://localhost/xampp/arganet/webservice.php?cap=08026"); httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httpPost); HttpEntity entity = response.getEntity(); is = entity.getContent(); } catch(Exception e) { Log.e("log_tag", "error in http connection "+ e.toString()); } //Conversione responso in stringa try { BufferedReader reader = new BufferedReader(newInputStreamReader(is, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder(); String line = null; while((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result = sb.toString(); } catch(Exception e) { Log.e("log_tag", "Error converting result " + e.toString()); } //parse json data try { JSONArray jArray = new JSONArray(result); for(int i=0; i<jArray.length(); i++) { JSONObject json_data = jArray.getJSONObject(i); Log.i("log_tag", "id: " + json_data.getInt("idComuni" ) + ", comune: " + json_data.getString("Comune") + ", cap: " + json_data.getString("CAP") ); } } catch(JSONException e) { Log.e("log_tag", "Error parsing data " + e.toString()); } }
L'errore è il seguente:is cannot be resolved to a variablecodice:BufferedReader reader = new BufferedReader(newInputStreamReader(is, "iso-8859-1"), 8);
Da quello che ipotizzo chiaramente la variabile is è dichiarata in un blocco try che non consente giustamente di poterla gestire all'esterno di questo blocco.
Allorchè ho provato a dichiarare esternamente questa variabile, così da poter essere riconosciuta da tutti i blocchi try, ma in questo caso ho sempre un errore:
Come è possibile ciò?codice:The method newInputStreamReader(InputStream, String) is undefined for the type Act2

Rispondi quotando