Archivos del mes: 19 enero 2013

Como solucionar que el select nativo no se abra en algunas versiones de Android

select oen

Estilo del select con JqueryMobile

Una vez teníamos la aplicación en funcionamiento y en producción vimos que al convertir la página de Nuevo Usuario en un PopUp el combo o select nativo de HTML dejaba de abrirse en algunas versiones de Android con jQuery Mobile. La versiones afectadas eran las 2.3.X es decir, Android Gingerbread.

Leer más →

Anuncios

CrossDomain en Phonegap

Si su aplicación PhoneGap necesita realizar llamadas a un servidor externo a su dispositivo es necesario añadir el crossdomain en PhoneGap. Todo es tan rápido y sencillo como añadir al fichero config.xml que se encuentra en xml/config.xml la siguiente linea.

<cordova>
         .....
         <access origin="http://127.0.0.1*"/> <!-- paginas locales -->
	     <access origin="http://www.servidorexterno.com/" subdomains="true"/>
         .....
         <plugins>
            .....
            .....
            .....
         </plugins>
</cordova>

Leer más →

Hacer peticiones HTTPS desde Android

Hace unas semanas empezamos con el desarrollo de nuestra nueva aplicación. Al igual que InfoBolsa CED era necesario implementarla haciendo llamadas mediante la libreria de Apache HttpClient a un servidor externo. Esta nueva aplicación hace uso del núcleo principal de InfoBolsa CED ya que estará orientada a la misma funcionalidad pero para otra comunidad autónoma.

La diferencia principal con InfoBolsa CED es que esta vez era necesario llamar al servidor externo haciendo uso de HTTPS. Así que nos pusimos manos a la obra y empezamos a investigar por internet para llegar a tener dicha funcionalidad.

Lo primero es levantar el KeyStore de Java y cargarlo en una clase que extiende de SSLSocketFactory implementada para el caso. Una vez intanciado el Socket para la llamada se le indica que esquema y puerto va a usar para luego registrarlo en nuestro HttpClient.

DefaultHttpClient localDefaultHttpClient = new DefaultHttpClient();
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(null, null);

SSLSocketFactory sf = new CtrlzAppsSSLSocketFactory(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
Scheme sch = new Scheme("https", sf, 443);
localDefaultHttpClient.getConnectionManager().getSchemeRegistry().register(sch);

Y eso es todo, nuestra aplicación Android ya puede llamar a servidores externos usando HTTPS
Leer más →

A %d blogueros les gusta esto: