Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 18/02/13, 21:18:23
Array

[xs_avatar]
cristina1991 cristina1991 no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2013
Localización: Panama
Mensajes: 9
Modelo de smartphone: Samsung galaxy ace
Tu operador: Movistar
Ayuda!!!

Hola buenas, necesito para el trabajo traerme cierta información de una página, de la attt de Panamá. Pondría el enlace pero no me lo permite hasta tener un número de post, soy nueva aquí.

Necesito traerme el total al calcular de barrio a barrio cuánto costaría el taxi.

La verdad me urge mucho y me estoy volviendo loca porque soy malisima para el inglés y la única ayuda que encuentro es en inglés, si alguien pudiera ayudarme... la verdad lo agradecería mucho.

Un saludo y gracias.
Responder Con Cita


  #2  
Viejo 18/02/13, 22:30:25
Array

[xs_avatar]
bb_android bb_android no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2013
Localización: Panama
Mensajes: 16
Modelo de smartphone: Galaxy mini SIII
Tu operador: MasMóvil
Hola yo tambien soy de panama. explicame la formula que estas tratando de hacer para el calculo
Responder Con Cita
  #3  
Viejo 18/02/13, 22:59:10
Array

[xs_avatar]
cristina1991 cristina1991 no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2013
Localización: Panama
Mensajes: 9
Modelo de smartphone: Samsung galaxy ace
Tu operador: Movistar
Hola, lo que necesito es traerme la informacion de la pagina de la attt, en la cual consulta el precio de los taxis de un punto a otro, es un icono verde que está a la derecha según bajas por la página, y lo que necesito es, mandarle los parametros de un spinner que selecciona el usuario y que la página me responda con el calculo, es decir coger la informacion de la pagina segun los datos que le envie.

No se ni como enviarle los datos ni como recibirlos. Gracias.
Responder Con Cita
  #4  
Viejo 21/02/13, 15:02:25
Array

[xs_avatar]
bb_android bb_android no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2013
Localización: Panama
Mensajes: 16
Modelo de smartphone: Galaxy mini SIII
Tu operador: MasMóvil
pon el link para ver como es. me meti en la pagina de la attt pero no vi nada con esa info de los taxi. no sabia q eso existia
Responder Con Cita
  #5  
Viejo 21/02/13, 16:02:42
Array

[xs_avatar]
cristina1991 cristina1991 no está en línea
Usuario novato en la web
 
Fecha de registro: feb 2013
Localización: Panama
Mensajes: 9
Modelo de smartphone: Samsung galaxy ace
Tu operador: Movistar
Hola buenas, la url es esta: http://www.transito.gob.pa/tarifas_taxi.php ya consegui que me traiga la respuesta con el html, el problema es que me devuelve el que no es... y ahi ya si que ya no se...

el codigo que use fue este:

package com.example.consultapanama;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity ;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;



public class Calcular{

public static String callRESTService(String origen,String destino) {

String html = null;

try{
HttpPost httpost = new HttpPost("http://www.transito.gob.pa/tarifas_taxi.php");

List<NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("buscar", "Buscar"));
nvps.add(new BasicNameValuePair("ddesc", ""));
nvps.add(new BasicNameValuePair("destino", destino));
nvps.add(new BasicNameValuePair("odesc", ""));
nvps.add(new BasicNameValuePair("origen", origen));
nvps.add(new BasicNameValuePair("val", "1"));


UrlEncodedFormEntity sendentity = new UrlEncodedFormEntity(nvps, HTTP.UTF_8);
httpost.setEntity(sendentity);

HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(httpost);

HttpEntity entity = response.getEntity();

html = readFromBuffer(new BufferedReader(new InputStreamReader(entity.getContent(),"UTF-8")));
return html;
} catch(Exception e){
e.printStackTrace();
html="error de lectura";
}
return html;
}

private static String readFromBuffer(BufferedReader br){
StringBuilder text = new StringBuilder();
try{
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append("\n");
}
} catch (IOException e) {
e.printStackTrace();
// tratar excepción!!!
}
return text.toString();
}
}

y con esto me devuelve el html, el problema es que me devuelve el de antes de buscar, por lo que no me trae el resultado... y no se como hacer para que me devuelva el otro...
Responder Con Cita
  #6  
Viejo 21/02/13, 19:58:20
Array

[xs_avatar]
Arasthel Arasthel no está en línea
Cocinero veterano
· Votos compra/venta: (1)
 
Fecha de registro: jun 2009
Localización: Almería
Mensajes: 1,946
Modelo de smartphone: Nexus 5
Tu operador: Amena
En resumen, la web es una gran chapuza. Hace referencia a funciones javascript que no existen, deja sin uso unos cuantos input hidden, usa tablas con subtablas, con subtablas, con subtablas, todo para no escribir 4 líneas de código CSS ... pero lo mejor de todo es que hace referencia a un archivo que está, atención, a nivel local en el PC de un tal Joel Cárdenas ("file:///C|/Users/JoelCárdenas/Documents/BackupWeb_27_11_2010/Scripts/swfobject_modified.js").

En fin, después de maravillarme con el increíble código de la web y ver cómo se hacía el envío del formulario, he visto que se hace por POST usando los valores de los 2 select con name "origen" y "destino". La cosa es que los options de ese select tienen 2 valores, un value normal y un "value1". Realmente el "value1" no tiene ningún sentido y dudo que se use.

He buscado por internet y probado un poco y este código devuelve lo que necesitas, solo te queda leer el valor a mano o con un parser HTML para Java.

Código:
String urlParameters = "origen=K1&destino=K1&buscar=Buscar&val=1";
URL url = new URL("http://www.transito.gob.pa/tarifas_taxi.php");
URLConnection conn = url.openConnection();

conn.setDoOutput(true);

OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());

writer.write(urlParameters);
writer.flush();

String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));

StringBuilder textBuilder = new StringBuilder();
while ((line = reader.readLine()) != null) {
   textBuilder.append(line);
}
writer.close();
reader.close();
//Para devolver el valor
String resultadoHtml = textBuilder.toString();
EDIT: Obviamente, en urlParameters, donde pone "K1" deberías de poner el value en cuestión.

Un saludo.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 05:07:19 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /