Hola,
Soy nuevo en el foro y posiblemente ya este esta pregunta, pero de todas formas la hago.
Estoy empezando esto de programar y necesito hacer un listview con imagenes (la Url) que vienen desde una base de datos MySQL, he buscado en internet por dias, pero hay demaciadas formas diferentes y me termine confundiendo.
Lo que pido es que alguien que le funcione me deje una forma basica de como poner una imagen de internet junto con un texto en un listview, lo mas basico para yo saber como funciona el proceso y de ahi ir agregando mis propias funciones...
Como dije pido ayuda ya que en internet hay muchas formas y me termino confundiendo, recuerden que soy nuevo y por eso pido su ayuda... el codigo de abajo es el que estoy utilizando para hacer la pruebas, con este codigo me sirve para traer el mero texto, me falta es la parte para convertir el url en la imagen , descargarla o lo que sea que se tenga que hacer.
public class MainActivity extends ActionBarActivity {
String myJSON;
private static final String TAG_RESULTS="result";
private static final String TAG_nombre = "nombre";
private static final String TAG_fecha = "fecha";
private static final String TAG_fotoe ="foto_empresa";
private static final String TAG_fotod ="foto_dueño";
JSONArray eventos = null;
ArrayList<HashMap<String, String>> eventoslist;
ListView list;
int IMAGENES[] = new int[2];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = (ListView) findViewById(R.id.listView);
eventoslist = new ArrayList<HashMap<String,String>>();
getData();
}
public void getData() {
class GetDataJSON extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... params) {
DefaultHttpClient httpclient = new DefaultHttpClient(new BasicHttpParams());
HttpPost httppost = new HttpPost("http://pippaenlinea.com.co/php/verificar.php?x=2");
// Depends on your web service
httppost.setHeader("Content-type", "application/json");
InputStream inputStream = null;
String result = null;
try {
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
inputStream = entity.getContent();
// json is UTF-8 by default
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
result = sb.toString();
} catch (Exception e) {
// Oops
}
finally {
try{if(inputStream != null)inputStream.close();}catch(Exception squish){}
}
return result;
}
@Override
protected void onPostExecute(String result){
myJSON=result;
showList();
}
}
GetDataJSON g = new GetDataJSON();
g.execute();
}
protected void showList(){
try {
JSONObject jsonObj = new JSONObject(myJSON);
eventos = jsonObj.getJSONArray(TAG_RESULTS);
for(int i=0;i<eventos.length();i++){
JSONObject c = eventos.getJSONObject(i);
String nombre = c.getString(TAG_nombre);
String fecha = c.getString(TAG_fecha);
String fotoe = c.getString(TAG_fotoe);
String fotod = c.getString(TAG_fotod);
HashMap<String,String> events = new HashMap<String,String>();
events.put(TAG_nombre,nombre);
events.put(TAG_fecha,fecha);
events.put(TAG_fotoe,fotoe);
events.put(TAG_fotod,fotod);
eventoslist.add(events);
}
ListAdapter adapter = new SimpleAdapter(
MainActivity.this, eventoslist, R.layout.list_item,
new String[]{TAG_fotoe,TAG_nombre,TAG_fecha},
new int[]{R.id.iv_empresa,R.id.tv_name, R.id.tv_fecha}
);
list.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
}