Cristian Fernando
- Posts del Foro: 1
7 ago. 2018 7:02:45 vía Web
7 ago. 2018 7:02:45 vía Web
AMIGOS SU AYUDA POR FAVOR
NECESITO HACER UN CRUD QUE ME MUESTRE INFORMACION DE UN WEB SERVICE QUE YA ESTA PUBLICADO EN :
EL PROBLEMA QUE TENGO ES QUE NO ME MUESTRA LA LISTA DE PRODUCTOS
package ec.edu.uisrael.ejemplws;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.GridView;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import java.util.ArrayList;
import java.util.List;
public class cargarProducto extends AppCompatActivity {
/*private static String NAMESPACE="/";*/
/*private static String URL="*//PedidosService?wsdl";
private String resultado;
private Button nuevoProd;
//private GridView actualGrid;
private ArrayList<Object> listaProductos;
private ArrayAdapter<Object> adaptador1;
private android.widget.GridView lista;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listar_producto);
//actualGrid = (GridView)findViewById(R.id.productos);
nuevoProd=(Button)findViewById(R.id.btnNuevoPro);
nuevoProd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(cargarProducto.this, nuevoProducto.class);
startActivity(intent);
}
});
listaProductos=new ArrayList<Object>();
//agrego los productos a la lista
cargarProducto.listarProducto task= new listarProducto();
task.execute();
adaptador1=new ArrayAdapter<Object>(this,android.R.layout.simple_dropdown_item_1line,listaProductos);
lista=(GridView) findViewById(R.id.productos);
lista.setAdapter(adaptador1);
lista.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
AlertDialog.Builder dialogo1 = new AlertDialog.Builder(cargarProducto.this);
dialogo1.setTitle("Notificación");
dialogo1.setMessage("¿Que desea hacer?");
dialogo1.setCancelable(false);
dialogo1.setPositiveButton("Editar", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog1, int which) {
Intent intent = new Intent(cargarProducto.this, editarProducto.class);
startActivity(intent);
}
});
dialogo1.setNegativeButton("Eliminar", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogo1, int id) {
Intent intent = new Intent(cargarProducto.this, DeleteProducto.class);
startActivity(intent);
}
});
dialogo1.show();
}
});
//productos.InvalidateViews();
}
/*public void retornarOnClick(View view){
Intent intent = new Intent(this,nuevoProducto.class);
startActivity(intent);
}*/
private class listarProducto extends AsyncTask<Void,Void,Void> {
@Override
protected Void doInBackground(Void... params){
listarProductoWs();
return null;
}
protected void onPostExecute(Void result){
AlertDialog.Builder dialogo= new AlertDialog.Builder(cargarProducto.this);
dialogo.setTitle("Resultado");
dialogo.setMessage(resultado);
dialogo.setNeutralButton("OK",null);
dialogo.show();
}
}
private void listarProductoWs(){
//se ingresa el nombre del metodo del soap
String METHOD_NAME= "listarProductos";
String SOAP_ACTION="listarProductosAction";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
//agrego los parametros al servicio, el name es el que sale en el soap
List<String> resultData = new ArrayList<String>();
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelope.setOutputSoapObject(request);
SoapObject response = new SoapObject();
try {
HttpTransportSE transporte= new HttpTransportSE(URL);
transporte.call(SOAP_ACTION,soapEnvelope);
//se procesa el resultado devuelto
response = (SoapObject) soapEnvelope.bodyIn;
//agrega productos a la lista
if (response.getPropertyCount() > 0) {
SoapObject data = null;
try {
data = (SoapObject) response.getProperty(0);
if (data == null) {
listaProductos.add(response.getPropertyAsString(0));
} else {
for (int k = 0; k < 100; k++){
data = (SoapObject) response.getProperty(k);
String aux="";
for (int i = 0; i < data.getPropertyCount(); i++) {
if (i==0){
aux=data.getPropertyAsString(0);
}else{
aux=aux+" , "+data.getPropertyAsString(i);
}
}
listaProductos.add(aux);
}
}
} catch (Exception e) {
}
}
}catch (Exception e){
}
}
public void actulizaGrid_OnClick(View view) {
//producto.setAdapter(adapter);
// actualGrid.refreshDrawableState();
Intent intent = new Intent(cargarProducto.this, cargarProducto.class);
startActivity(intent);
}
}
— modificado el 7 ago. 2018 9:16:03 por el moderador
Contenido editorial recomendado
Con su consentimiento, aquí se cargan contenidos externos.
Al hacer clic en el botón anterior, acepta que se le muestren contenidos externos. En el proceso pueden transmitirse datos personales a terceros proveedores. Encontrará más información al respecto en nuestro Política de privacidad.