Estoy obteniendo de una BD externa unas noticias y quiero mostrarlas en un ListView
.
Estoy haciendo esto:
static class Datos extends AsyncTask<ListView, Void, ArrayAdapter<ConstructorNoticias>>{
Context contexto;
ListView list;
InputStream is;
ArrayList<ConstructorNoticias> listaNoticias = new ArrayList<ConstructorNoticias>();
public void cargarContenido(Context contexto){
this.contexto = contexto;
}
@Override
protected ArrayAdapter<ConstructorNoticias> doInBackground(ListView... params) {
// TODO Auto-generated method stub
list = params[0];
String resultado = "fallo";
ConstructorNoticias noti;
HttpClient cliente = new DefaultHttpClient();
HttpGet peticionGet = new HttpGet("http://www.xxxxcom/app/noticias.php");
try {
HttpResponse response = cliente.execute(peticionGet);
HttpEntity contenido = response.getEntity();
is = contenido.getContent();
} catch (ClientProtocolException e) {
// TODO: handle exception
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
BufferedReader buferlector = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String linea = null;
try {
while((linea = buferlector.readLine())!=null){
sb.append(linea);
}
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
try {
is.close();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
resultado = sb.toString();
try {
JSONArray arrayJson = new JSONArray(resultado);
for(int i = 0;i<arrayJson.length();i++) {
JSONObject objetoJson = arrayJson.getJSONObject(i);
noti = new ConstructorNoticias(objetoJson.getInt("id_noticia"), objetoJson.getString("titulo"), objetoJson.getString("contenido"));
listaNoticias.add(noti);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
ArrayAdapter<ConstructorNoticias> adaptador = new ArrayAdapter<ConstructorNoticias>(contexto, android.R.layout.simple_list_item_1, listaNoticias);
return adaptador;
}
@Override
protected void onPostExecute(ArrayAdapter<ConstructorNoticias> result){
list.setAdapter(result);
}
}
En el método onCreate
tengo esto:
listNoticias = (ListView)findViewById(R.id.listadoViewNoticias);
Datos datos = new Datos();
datos.cargarContenido(getApplicationContext());
datos.execute(listNoticias);
Y dentro de la clase de la actividad las variables:
EditText titulo, contenido;
ListView listNoticias;
JSONArray listadoNoticias;
String data;
De esta forma en el activity_noticias.xml
tengo un ListView
que mue muestra solamente el título de la Noticia.
Como hago para que obtenga la ruta del campo imagen y me muestre en el ListView dicha imagen que está en el servidor web.
Espero que me hayan entendido lo que quiero hacer. Gracias!