Re: [desarrolladores-android.com] Llenar spinner desde Web Service

4,897 views
Skip to first unread message

Estiven Restrepo

unread,
Jul 2, 2012, 4:28:59 PM7/2/12
to desarrollad...@googlegroups.com
Hola David!!

Puedes traeer los datos del webservice y llenar un array y la forma de llenar el spinner seria:


Spinner spinner = findViewById(R.id.my_spinner);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
spinner
.setAdapter(spinnerArrayAdapter);

Donde spinnerArray es el array donde estan los datos que traes del webService..

Saludos,
Estiven Restrepo
http://www.andronautas.com

2012/7/2 David Alejandro <magoe...@gmail.com>
Hola a todos, veran estoy desarrollando una aplicacion que consume un Web Service para diversas cosas,una de ellas es llenar spinner con informacion de una base de datos oracle pero no encuentro la manera de hacer que el spinner se llene ,alguien sabe alguna forma de poder hacerlo, estoy utilizando las librerias de k-soap y json

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/v6QSNq4xmywJ.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es-ES.

David Alejandro

unread,
Jul 2, 2012, 5:24:29 PM7/2/12
to desarrollad...@googlegroups.com
Gracias voy a probar ahora mismo y ya comento si me funciono


El lunes, 2 de julio de 2012 15:28:59 UTC-5, Estiven Restrepo escribió:
Hola David!!

Puedes traeer los datos del webservice y llenar un array y la forma de llenar el spinner seria:

Spinner spinner = findViewById(R.id.my_spinner);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
spinner
.setAdapter(spinnerArrayAdapter);
Donde spinnerArray es el array donde estan los datos que traes del webService..

Saludos,
Estiven Restrepo
http://www.andronautas.com

2012/7/2 David Alejandro <magoe...@gmail.com>
Hola a todos, veran estoy desarrollando una aplicacion que consume un Web Service para diversas cosas,una de ellas es llenar spinner con informacion de una base de datos oracle pero no encuentro la manera de hacer que el spinner se llene ,alguien sabe alguna forma de poder hacerlo, estoy utilizando las librerias de k-soap y json

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/v6QSNq4xmywJ.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com

David Alejandro

unread,
Jul 2, 2012, 5:27:15 PM7/2/12
to desarrollad...@googlegroups.com
Perdon pero lo que quiero saber es la manera de almacenar ese array o como es que lo almaceno para despues poder ya utilizar el arrayadapter en el spinner

Estiven Restrepo

unread,
Jul 4, 2012, 1:14:23 AM7/4/12
to desarrollad...@googlegroups.com
Hola!!

Ok, entonces el problema es cómo traer la información?? o ya la tienes??

La idea es crear un array con la info que traes y luego con ese array creas el arrayadapter...

Quedo atento.
2012/7/2 David Alejandro <magoe...@gmail.com>
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/2pwBKZ2SS3YJ.

Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com

David Alejandro

unread,
Jul 4, 2012, 11:02:33 AM7/4/12
to desarrollad...@googlegroups.com
Exacto, no se como crear el array que se va a utilizar para llenar el spinner ,espero puedas ayudarme ,de antemano gracias
2012/7/2 David Alejandro <magoe...@gmail.com>
2012/7/2 David Alejandro <magoe...@gmail.com>
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-android+unsubscr...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es-ES.

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.

David Alejandro

unread,
Jul 5, 2012, 3:32:47 PM7/5/12
to desarrollad...@googlegroups.com
btnEntrar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
HttpClient httpClient = new DefaultHttpClient();
HttpGet del = 
del.setHeader("content-type", "application/json");
try
       {
        HttpResponse resp = httpClient.execute(del);
        String respStr = EntityUtils.toString(resp.getEntity());
       
        JSONArray respJSON = new JSONArray(respStr);
       
        String[] clientes = new String[respJSON.length()];
       
        for(int i=0; i<respJSON.length(); i++)
        {
        JSONObject obj = respJSON.getJSONObject(i);
       
        String CUSTOMER_NUMBER = obj.getString("Numero");
        String CUSTOMER_NAME = obj.getString("Nombre");
       
       
        clientes[i] = "" + CUSTOMER_NUMBER + "-" + CUSTOMER_NAME; 
        }
       
        //Rellenamos el spinner con los resultados
        ArrayAdapter<String> adaptador =
           new ArrayAdapter<String>(Ingresa_datos.this,
               android.R.layout.simple_spinner_dropdown_item, clientes);
         
        spn_cliente.setAdapter(adaptador);
       }
       catch(Exception ex)
       {
        Log.e("ServicioRest","Error!", ex);
       }
}
});

mira este es el codigo que tengo ,no se en que me equivoco o como mandarlo a llamar el array,quiero que al dar clic al boton ingresar se llene el spinner



El lunes, 2 de julio de 2012 15:28:59 UTC-5, Estiven Restrepo escribió:
Hola David!!

Puedes traeer los datos del webservice y llenar un array y la forma de llenar el spinner seria:

Spinner spinner = findViewById(R.id.my_spinner);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
spinner
.setAdapter(spinnerArrayAdapter);
Donde spinnerArray es el array donde estan los datos que traes del webService..

Saludos,
Estiven Restrepo
http://www.andronautas.com

2012/7/2 David Alejandro <magoe...@gmail.com>
Hola a todos, veran estoy desarrollando una aplicacion que consume un Web Service para diversas cosas,una de ellas es llenar spinner con informacion de una base de datos oracle pero no encuentro la manera de hacer que el spinner se llene ,alguien sabe alguna forma de poder hacerlo, estoy utilizando las librerias de k-soap y json

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/v6QSNq4xmywJ.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com

Juan de Dios Maldonado Sánchez

unread,
Feb 7, 2013, 4:13:01 AM2/7/13
to desarrollad...@googlegroups.com
En Internet tienes miles de tutoriales que te enseñan a llenar un Spinner. 



On Thu, Feb 7, 2013 at 5:07 AM, <posei...@gmail.com> wrote:

si alguine puede hacer un tutorial de esto por favor que indique como se llenar el spinner de android

 
en mi caso ya puedo traer los datos desde el ws
no se como mandarlo a llenar
 
este es el resultado del ws
{"provincias":[{"IdProvincias":"01","NombProvi":"AZUAY"},{"IdProvincias":"02","NombProvi":"BOLIVAR"},{"IdProvincias":"03","NombProvi":"CA\u00d1AR"},{"IdProvincias":"04","NombProvi":"CARCHI"},{"IdProvincias":"05","NombProvi":"COTOPAXI"},{"IdProvincias":"06","NombProvi":"CHIMBORAZO"},{"IdProvincias":"08","NombProvi":"ESMERALDAS"},{"IdProvincias":"10","NombProvi":"IMBABURA"},{"IdProvincias":"11","NombProvi":"LOJA"},{"IdProvincias":"12","NombProvi":"LOS RIOS"},{"IdProvincias":"13","NombProvi":"MANABI"},{"IdProvincias":"14","NombProvi":"MORONA SANTIAGO"},{"IdProvincias":"15","NombProvi":"NAPO"},{"IdProvincias":"16","NombProvi":"PASTAZA"},{"IdProvincias":"17","NombProvi":"PICHINCHA"},{"IdProvincias":"18","NombProvi":"TUNGURAHUA"},{"IdProvincias":"20","NombProvi":"GALAPAGOS"},{"IdProvincias":"21","NombProvi":"SUCUMBIOS"},{"IdProvincias":"22","NombProvi":"ORELLANA"},{"IdProvincias":"23","NombProvi":"SANTO DOMINGO DE LOS TSACHILAS"},{"IdProvincias":"24","NombProvi":"SANTA ELENA"},{"IdProvincias":"19","NombProvi":"ZAMORA CHINCHIPE"},{"IdProvincias":"07","NombProvi":"EL ORO"},{"IdProvincias":"09","NombProvi":"GUAYAS"}],"success":1}
 
este  es el codigo 
 
package com.example.tallerprovincias;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class BuscarCalles extends Activity {
 private ProgressDialog pDialog;
 JSONParser jParser = new JSONParser();
 ArrayList<HashMap<String, String>> empleadosList;
 private static String url_all_empleados = "http://www.codigopostal.ec/Movil_all_provincias.php";
 private static final String TAG_SUCCESS = "success";
 private static final String TAG_empleados = "provincias";
 private static final String TAG_IdProvi = "IdProvincias";
 private static final String TAG_NOMBRE = "NombProvi";
 JSONArray empleados = null;
 String[] datos = null;
 ArrayAdapter<String> spinner_adapter = null;
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.all_calles);
  // inicializo variables
  empleadosList = new ArrayList<HashMap<String, String>>();
  final Spinner cmbOpciones = (Spinner) findViewById(R.id.CbmProvincias);
  new cargarCombo().execute();
  try {
   /*datos = new String[empleados.length()];
   // datos = new String[]{"IdProvi","Nombre"};
   for (int i = 0; i < empleados.length(); i++) {
    // instanciamos para seleccionar los objetos
    JSONObject obj = empleados.getJSONObject(i);
    // guardamos el dato ID
    String IdProvi = obj.getString(TAG_IdProvi);
    // guardamos la etiqueta
    String nombre = obj.getString(TAG_NOMBRE);
    datos[i] = nombre;

   }
   ArrayAdapter<String> adaptador = new ArrayAdapter<String>(
     BuscarCalles.this, android.R.layout.simple_spinner_item,
     datos);
   adaptador
     .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
   cmbOpciones.setAdapter(adaptador);*/
   
   // ////////////////////////////////////
   JSONArray respJSON = new JSONArray(TAG_empleados);
           
            datos = new String[respJSON.length()];
            for(int i=0; i<respJSON.length(); i++)
            {
                JSONObject obj = respJSON.getJSONObject(i);
               datos[i]= obj.getString(TAG_NOMBRE);
            }
           
           ArrayAdapter<String> spinner_adapter = new ArrayAdapter<String>
           (this, android.R.layout.simple_spinner_item, datos);
          spinner_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
          cmbOpciones.setAdapter(spinner_adapter);
   
   // //////////////////////////////

  } catch (Exception e) {
   // TODO: handle exception
  }
  // ////////////////
  // guardamos datos en array para el combo
  // ////////////////
 }
 class cargarCombo extends AsyncTask<String, String, String> {
  @Override
  protected String doInBackground(String... arg0) {
   // TODO Auto-generated method stub
   List<NameValuePair> params = new ArrayList<NameValuePair>();
   JSONObject json = jParser.makeHttpRequest(url_all_empleados, "GET",
     params);
   Log.d("All Provincias: ", json.toString());
   try {
    // vemos el estado del json
    int success = json.getInt(TAG_SUCCESS);
    if (success == 1) {
     // guardamos los datos en el json array
     empleados = json.getJSONArray(TAG_empleados);
    }
   } catch (Exception e) {
    // TODO: handle exception
   }
   return null;
  }
 }
}
 Agradesco su ayuda..
Att.
Will
 
 

--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/20KhL
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/0rwy8IBeoa0J.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Isaac De La Cruz

unread,
Feb 7, 2013, 9:01:37 AM2/7/13
to desarrollad...@googlegroups.com

Hola yo lo hago de esta forma:
el resultado del ws lo meto en una lista y luego la lista la meto en el spinner:
algo asi:





try
 {
        HttpResponse resp = httpClient.execute(del);
        String respStr = EntityUtils.toString(resp.getEntity());
       
        JSONArray respJSON = new JSONArray(respStr);
       
        ArrayList clientes = new ArrayList();
       
        for(int i=0; i<respJSON.length(); i++)
        {
          JSONObject obj = respJSON.getJSONObject(i);       
          clientes.add(obj.getString("Numero"));               
       }
       
        //Rellenamos el spinner con la lista
        ArrayAdapter<String> adaptador =
           new ArrayAdapter<String>(Ingresa_datos.this,
               android.R.layout.simple_spinner_dropdown_item, clientes);
         
        spn_cliente.setAdapter(adaptador);
       }
       catch(Exception ex)
       {
        Log.e("ServicioRest","Error!", ex);
       }




Isaac De La Cruz
Guayaquil - Ecuador

Gabriel Pozo

unread,
Feb 7, 2013, 9:10:21 AM2/7/13
to desarrollad...@googlegroups.com
El titulo del tema creo que esta mal planteado, debería ser como llenar un spinner, de donde sacas los recursos (en este caso un web service) o en que formato lo pasa es otro cantar.
Si ya tenes los datos, pues es cuestión de ver como los queres manejar. Perdonen que a lo mejor no seguí el hilo, pero al leer un titulo así creo que no me llama mucho la atención.
En todo caso se podrían haber planteado dos preguntas diferentes, y que ya se han respondido bastantes veces. 
- Como lleno un spinner
- Como todo datos de un web service
- También podría ser como trato estos datos  (por ejemplo un JSON) que obtuve del web service




--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/20KhL
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Edgar Rios

unread,
Jul 6, 2013, 10:23:09 PM7/6/13
to desarrollad...@googlegroups.com
Hola necesito llenar un spinner desde la base de datos con un hashMap ya traigo la informacion desde la bd el problema es mostrar el nombre y el id que lo representa alguien podria ayudarme...::!!!!!!!!!!!!!
Reply all
Reply to author
Forward
0 new messages