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 03/03/13, 01:55:28
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
Exclamation Peticiones httpos android 3.0 o mas

Hola buenas,

Tengo una aplicación en la cuál hago una petición http, y otra https, pero en terminales con android 3.0 o más no me funciona, encontré esta página http://stackoverflow.com/questions/1...working-in-2-3 en la cuál ofrece ayuda para hacerlo, pero no consigo que me funcione, el código que estoy utilizando es el siguiente:

package com.example.consultapanama;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.security.KeyStore;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
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.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientCo nnManager;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
import org.apache.http.protocol.HTTP;
import android.os.AsyncTask;
import android.util.Log;

public class ConsultaTarjeta extends AsyncTask<Void, String, Boolean> {

public static String html = "";

@Override
protected Boolean doInBackground(Void... arg0) {
boolean result = false;

try{
HttpPost httpost = new HttpPost("https://www.tarjeta.com.pa/consultatpv/ConsultaTPVAction.do");
List<NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("mtd", "doBuscaPlaca"));
nvps.add(new BasicNameValuePair("wte_nro_placa", ActividadTarjeta.numeroPlaca));


httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
HttpClient client = new DefaultHttpClient();

try {
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(null, null);

SSLSocketFactory sf = new MySSLSocketFactory(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_ HOSTNAME_VERIFIER);

HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);

SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
registry.register(new Scheme("https", sf, 443));

ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);

client = new DefaultHttpClient(ccm, params);
} catch (Exception e) {
client = new DefaultHttpClient();
}

HttpResponse response = client.execute(httpost);
HttpEntity entity = response.getEntity();

BufferedReader br=new BufferedReader(new InputStreamReader(entity.getContent(),"UTF-8"));

StringBuilder text = new StringBuilder();
try{
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append("\n");
}
} catch (IOException e) {
Log.e("Error","Error al copiar");
e.printStackTrace();
}

html=text.toString();

Log.e("Respuesta",html);

// html= readFromBuffer();

} catch(Exception e){
e.printStackTrace();
html="error de lectura";
Log.e("respuesta",html);
}

publishProgress("progress");
return result;
}

protected void onProgressUpdate(String... progress) {
StringBuilder str = new StringBuilder();
for (int i = 1; i < progress.length; i++) {
str.append(progress[i] + " ");
}

}



}

No sé por qué, parece ser que nunca llega a asignar el texto del html, puesto que hago el log y no hace nada, he probado depurando pero no consigo ver que pasa... se que después del while sale, pero no salta la excepción...

Si alguien puede ayudarme lo agradezco mucho

Saludos.
Responder Con Cita


  #2  
Viejo 11/03/13, 05:51:31
Array

[xs_avatar]
MSL046 MSL046 no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2013
Mensajes: 6
Tu operador: Movistar

Re: Peticiones httpos android 3.0 o mas

Responder Con Cita
  #3  
Viejo 11/03/13, 05:54:39
Array

[xs_avatar]
MSL046 MSL046 no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2013
Mensajes: 6
Tu operador: Movistar

Re: Peticiones httpos android 3.0 o mas

int SDK_INT = android.os.Build.VERSION.SDK_INT;

if (SDK_INT>8){

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().buil d();

StrictMode.setThreadPolicy(policy);

}

O ésto
Responder Con Cita
Respuesta

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



Hora actual: 06:32:57 (GMT +1)



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

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