Warning: Cannot modify header information - headers already sent by (output started at /home3/fvqjwuzk/public_html/blog/wp-content/plugins/devformatter/devformatter.php:1) in /home3/fvqjwuzk/public_html/blog/wp-includes/feed-rss2.php on line 8
Developando.com » Todas http://developando.com/blog Recursos para desarrolladores como nosotros Sun, 24 Apr 2016 22:57:33 +0000 es-ES hourly 1 http://wordpress.org/?v=4.1.18 OCP Java SE 8 Exam 1Z0-809: Diseño de Clases Java http://developando.com/blog/ocp-java-se-8-exam-1z0-809-diseno-de-clases-java http://developando.com/blog/ocp-java-se-8-exam-1z0-809-diseno-de-clases-java#comments Sun, 24 Apr 2016 22:55:17 +0000 http://developando.com/blog/?p=3226 OCP Java SE 8 Exam 1Z0-809. motivaciones para sacar la certificación Después de llevar unos cuantos años trabajando con Java he de reconocer que nunca me había planteado la posibilidad de obtener la certificación, sin embargo, las cosas han cambiado y he decidido emprender el camino de las certificaciones en aquellas herramientas con las que […]

The post OCP Java SE 8 Exam 1Z0-809: Diseño de Clases Java appeared first on Developando.com.

]]>
OCP Java SE 8 Exam 1Z0-809. motivaciones para sacar la certificación

Después de llevar unos cuantos años trabajando con Java he de reconocer que nunca me había planteado la posibilidad de obtener la certificación, sin embargo, las cosas han cambiado y he decidido emprender el camino de las certificaciones en aquellas herramientas con las que trabajo habitualmente. Por eso he decidido prepararme la certificación OCP JAVA SE 8 exam 1Z0-809. Mi actual empresa no será mi última empresa, para facilitar estas transiciones futuras he decidido obtener las certificaciones necesarias que allanen el paso de una a otra empresa certificando el conocimiento que he acumulado.

Periódicamente iremos actualizando con entradas relacionadas con temas incluidos en esta certificación que cubre los aspectos básicos del lenguaje.

En esta primera entrada hablamos de 3 principios básicos del lenguaje como son encapsulación, herencia y polimorfismo.

Encapsulación

En contraposición a la programación estructura la programación orientada a objetos entiende que datos y comportamientos asociados como una única unidad, esto es a lo que comúnmente denominamos clase. Los atributos y métodos que compondrán la clase están íntimamente relacionados.

Modificadores de acceso

Los modificadores de acceso determinan el nivel de visibilidad de cada elemento Java: clase, método o atributo. Estos modificadores nos permiten ejercer de manera efectiva la encapsulación.

Java soporta 4 tipos de modificadores:

  • Public. Si una clase o un método es declarado como Public, será accesible desde cualquier punto.
  • Private. Si se declara un miembro como  Private solo será accesible desde la propia clase. Las clases no pueden ser declaradas como Private.
  • Protected. Los miembros declarados muestran un comportamiento Public para las clases derivadas y un comportamiento Private para el resto de clases.
  • Default (en caso de no declarar ningún modificador). Los miembros definidos como Default serán accesibles únicamente por las clases declaradas bajo el mismo package.

herencia

La herencia es un mecanismo de reusabilidad de la programación orientada a objetos. Con la herencia, las propiedades de varios objetos son empleadas para establecer relaciones entre los diferentes objetos. La abstracción y las propiedades comunes son proporcionadas por la superclase, la cual es especializada en la sublcase.

polimorfismo

El polimorfismo, como su mismo nombre sugiere múltiples formas, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo interfaz. O sea, que, en la práctica, un mismo identificador puede tener distintas formas (distintos cuerpos de función, distintos comportamientos) dependiendo, en general, del contexto. Dos ejemplos claros de esta característica son la sobreescritura de métodos (overriding) y la sobrecarga de métodos (overloading).

The post OCP Java SE 8 Exam 1Z0-809: Diseño de Clases Java appeared first on Developando.com.

]]>
http://developando.com/blog/ocp-java-se-8-exam-1z0-809-diseno-de-clases-java/feed 0
XCloner, listado backups realizado http://developando.com/blog/xcloner-listado-backups-realizado http://developando.com/blog/xcloner-listado-backups-realizado#comments Wed, 03 Feb 2016 19:20:27 +0000 http://developando.com/blog/?p=3213 XCloner es un plugin de WordPress y permite reailzar copias de seguridad de un sitio wordpress. Una vez realizada la copia de seguridad, existe un listado donde poder consultar todas las copias que se han relaizado, y desde donde se permite descargar para que así se pueda instalar en otro servidor por ejemplo. Para acceder […]

The post XCloner, listado backups realizado appeared first on Developando.com.

]]>
XCloner es un plugin de WordPress y permite reailzar copias de seguridad de un sitio wordpress.

Una vez realizada la copia de seguridad, existe un listado donde poder consultar todas las copias que se han relaizado, y desde donde se permite descargar para que así se pueda instalar en otro servidor por ejemplo.

Para acceder al listado únicamente hay que ir a la opción del menú de la izquierda “XCloner“, y dentro del panel de configuración del plugin a la opción “Actions – View Backups” como se muestra en al siguiente imagen:

XCloner listado backups

Listado backups XCloner

Desde este listado se puede escoger los backups de XCloner que se quieran descargar.

The post XCloner, listado backups realizado appeared first on Developando.com.

]]>
http://developando.com/blog/xcloner-listado-backups-realizado/feed 0
Código Mailchimp para Theme Jupiter http://developando.com/blog/mailchimp-jupiter http://developando.com/blog/mailchimp-jupiter#comments Wed, 20 Jan 2016 14:23:29 +0000 http://developando.com/blog/?p=3196 [crayon-59c15aaeccb73863381735/]    

The post Código Mailchimp para Theme Jupiter appeared first on Developando.com.

]]>

<div class="block text-center">
<!-- Begin MailChimp Signup Form -->
<div id="mc_embed_signup">
	<form action="//developando.us5.list-manage.com/subscribe/post?u=6b94988cb3057591894ee1671&amp;id=f3a8227f05" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
	    <div id="mc_embed_signup_scroll">
			<input size="75" type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" style="    height: 25px;    border: 1px;    margin: 0px !important;    font-size: 20px;    border-radius: 5px;" required>
		    <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
		    <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_6b94988cb3057591894ee1671_f3a8227f05" tabindex="-1" value=""></div>
			<button id="mc-embedded-subscribe" class="vc_general vc_btn3 vc_btn3-size-md vc_btn3-shape-rounded vc_btn3-style-flat vc_btn3-icon-left vc_btn3-color-info"><i class="vc_btn3-icon fa fa-check"></i> Suscribirme</button>
	    </div>
	</form>
</div>
</div>
<!--End mc_embed_signup-->

 

 

The post Código Mailchimp para Theme Jupiter appeared first on Developando.com.

]]>
http://developando.com/blog/mailchimp-jupiter/feed 0
Firefox, SSL error ssl_error_weak_server_ephemeral_dh_key http://developando.com/blog/firefox-ssl-error-ssl_error_weak_server_ephemeral_dh_key http://developando.com/blog/firefox-ssl-error-ssl_error_weak_server_ephemeral_dh_key#comments Thu, 23 Jul 2015 11:47:08 +0000 http://developando.com/blog/?p=3174 Este error se ha producido tras una de las últimas actualizaciones de Firefox. Si accedes a un sitio web mediante que tiene habilitado seguridad SSL puede que te aparezca un mensaje como el siguiente: Secure Connection Failed An error occurred during a connection to login.opns.be. SSL received a weak ephemeral Diffie-Hellman key in Server Key […]

The post Firefox, SSL error ssl_error_weak_server_ephemeral_dh_key appeared first on Developando.com.

]]>
Este error se ha producido tras una de las últimas actualizaciones de Firefox. Si accedes a un sitio web mediante que tiene habilitado seguridad SSL puede que te aparezca un mensaje como el siguiente:

Secure Connection Failed An error occurred during a connection to login.opns.be. SSL received a weak ephemeral Diffie-Hellman key in Server Key Exchange handshake message. (Error code: ssl_error_weak_server_ephemeral_dh_key) The page you are trying to view cannot be shown because the authenticity of the received data could not be verified. Please contact the website owners to inform them of this problem.

Ahora lo que se puede hacer es llamar al administrador del sitio web para que modifique la seguridad del sitio, esperar a una nueva actualización de Firefox para que se solucione este problema, o seguir estos sencillos pasos y dejarlo funcionando en 15 segundos.

Lo primero que se hará es acceder a la página de configuración de Firefox “about:config” y una vez allí haremos clic en el botón “Tendré cuidado”:
developando-firefox-ssl-error-1

En la siguiente ventana filtramos por el texto “security.ssl3.dhe_rsa_aes” obteniendo dos resultados:
developando-firefox-ssl-error-2

Finalmente hay que hacer doble clic sobre cada una de las entradas que aparecen hasta que el campo valor pase a valer “false”:
developando-firefox-ssl-error-3

Con estos sencillos pasos evitaremos el error de SSL “ssl_error_weak_server_ephemeral_dh_key” en Firefox.

The post Firefox, SSL error ssl_error_weak_server_ephemeral_dh_key appeared first on Developando.com.

]]>
http://developando.com/blog/firefox-ssl-error-ssl_error_weak_server_ephemeral_dh_key/feed 0
Wordpess, redirigir error 404 a la página inicio http://developando.com/blog/wordpess-redirigir-error-404-pagina-inicio http://developando.com/blog/wordpess-redirigir-error-404-pagina-inicio#comments Wed, 24 Jun 2015 10:45:46 +0000 http://developando.com/blog/?p=3169 En este breve tutorial vamos a explicar cómo hacer que se muestre nuestro “home” o página de inicio cuando WordPress devuelva un error 404 de página no encontrada. En Wordpres generalmente existe un fichero, en el raíz de la carpeta que contiene el tema que está configurado, llamado “404.php”. Este fichero contiene la plantilla del […]

The post Wordpess, redirigir error 404 a la página inicio appeared first on Developando.com.

]]>
En este breve tutorial vamos a explicar cómo hacer que se muestre nuestro “home” o página de inicio cuando WordPress devuelva un error 404 de página no encontrada.

En Wordpres generalmente existe un fichero, en el raíz de la carpeta que contiene el tema que está configurado, llamado “404.php”. Este fichero contiene la plantilla del contenido que se mostrará a los visitantes cuando no esté accesible una página dentro de WordPress.

Ahora lo que vamos a hacer es que cuando se produzca este error 404 en WordPress se muestre la página inicial. Para ello, vamos a modificar el contenido de ese fichero “404.php” o a crearlo si no existiera. El contenido de este fichero únicamente será el siguiente:

  1. <?php
  2.    header("Status: 301 Moved Permanently");
  3.    header("Location:http://www.developando.com");
  4. ?>

Con este pequeño cambio ahora todas las veces que los visitantes intenten acceder a un recurso o página que no se encuentre en nuestro sitio web serán redirigidos a la página de inicio.

The post Wordpess, redirigir error 404 a la página inicio appeared first on Developando.com.

]]>
http://developando.com/blog/wordpess-redirigir-error-404-pagina-inicio/feed 0
Laravel con Xampp y Composer en Windows http://developando.com/blog/laravel-composer-xampp-windows http://developando.com/blog/laravel-composer-xampp-windows#comments Sun, 21 Jun 2015 10:08:22 +0000 http://developando.com/blog/?p=3161 En este tutorial vamos a ver cómo arrancar nuestro proyecto Laravel en Windows. Vamos a ponernos manos a la obra recordando algunas cosas. instalación de xampp en windows Xampp es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El […]

The post Laravel con Xampp y Composer en Windows appeared first on Developando.com.

]]>
En este tutorial vamos a ver cómo arrancar nuestro proyecto Laravel en Windows. Vamos a ponernos manos a la obra recordando algunas cosas.

instalación de xampp en windows

Xampp es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl.

En resumidas cuentas nos proporciona un entorno de desarrollo rápido para poder probar nuestras aplicaciones PHP (entre otras cosas).

Para instalarlo en Windows simplemente vamos a la página de descargas y bajamos el instalador y lo ejecutamos. Seguir los pasos es muy sencillo.

Instalación de composer en windows.

Hace algún tiempo hablamos sobre Composer en esta entrada para arrancar un proyecto con CakePHP. Es un gestor de dependencias para php, te permite declarar las librerías de las cuales tu proyecto depende o necesita y las instala en el proyecto por ti. Para instalarlo basta con descargar el instalador y ejecutarlo.

Antes de instalar Composer debes tener instalado php en tu pc. Si has instalado xampp primero bastará con indicarle la instalación de php que está en el directorio de xampp.

Si todo ha ido bien debes ejecutar composer -v en una consola y debe aparecer algo similar a la imagen siguiente:

composer_version

Iniciar un proyecto laravel

Ya estamos listos para arrancar nuestro proyecto con Laravel, para ello, vamos a la carpeta htdocs dentro de xampp desde la consola y ejecutamos el siguiente comando:

composer create-project laravel/laravel nombre_del_proyecto prefer-dist

composer_create

Como ves composer empezará a descargar  e instalar todos los componentes necesarios para crear nuestro proyecto.

Para verificar que todo ha ido bien, basta con arrancar el apache de xampp y en el navegador ir a la url http://localhost/nombre_proyecto/public donde deberás ver una pantalla como la siguiente:

laravel-init

¡ Ya puedes continuar el desarrollo bajo Laravel !

The post Laravel con Xampp y Composer en Windows appeared first on Developando.com.

]]>
http://developando.com/blog/laravel-composer-xampp-windows/feed 0
Añadir Captcha en formulario de foro bbpress http://developando.com/blog/anadir-captcha-foro-bbpress http://developando.com/blog/anadir-captcha-foro-bbpress#comments Sat, 02 May 2015 07:35:40 +0000 http://developando.com/blog/?p=3145 En este breve tutorial vamos a explicar como configurar un campo “Captcha” en todos los formularios que aparecen en un sitio WordPress con el plugin de “bbpress” activado. Conseguiremos que aparezca este nuevo Captcha en los formularios de creación de foros, de nuevos debates, para nuevas respuestas… Para trabajar con el plugin de bbpress vamos […]

The post Añadir Captcha en formulario de foro bbpress appeared first on Developando.com.

]]>
En este breve tutorial vamos a explicar como configurar un campo “Captcha” en todos los formularios que aparecen en un sitio WordPress con el plugin de “bbpress” activado. Conseguiremos que aparezca este nuevo Captcha en los formularios de creación de foros, de nuevos debates, para nuevas respuestas…

Para trabajar con el plugin de bbpress vamos a utilizar un plugin que se llama “Math Captcha”.

Instalación y activación del plugin Math Captcha

Para instalar este plugin se debe acceder al área de plugins desde el escritorio de administración y buscar el plugin con el nombre “Math Captcha” y hacer clic en el botón “Instalar ahora”:

Añadir Captcha en foros bbpress

Añadir Captcha en foros bbpress

Tras esto únicamente hay que hacer clic en activar y ya estaría el plugin listo para comenzar a trabajar.

Configurar plugin Math Captcha

Al acceder a la ventana de configuración del plugin “Math Captcha” podremos escoger entre los formularios donde queremos que este nuevo campo sea añadido. En el caso de este tutorial únicamente lo vamos a configurar para “bbpress”, por lo que el resto de casillas las dejaremos sin marcar, únicamente seleccionaremos la de “bbpress”.

También indicaremos que para los usuarios que tenga la sesión abierta no se les muestre, ya que al estar registrados queda verificado que son personales reales y no spam.

El siguiente paso es indicar que tipo de operaciones se quieren utilizar, pudiendo seleccionar entre sumas, restas, multiplicaciones y/o divisiones.

Finalmente indicamos el texto de la etiqueta que acompañará a la operación matemática que se le muestre al visitante en el formulario correspondiente.

Añadir Captcha en foros bbpress

Añadir Captcha en foros bbpress

Tras realizar todos estos cambios hay que hacer clic en el botón “Guardar Cambios” para que se aplique la nueva configuración quedando los formularios de esta forma:
developando-bbpress-math-captcha-3

The post Añadir Captcha en formulario de foro bbpress appeared first on Developando.com.

]]>
http://developando.com/blog/anadir-captcha-foro-bbpress/feed 0
Java fuentes adicionales generación PDF con JasperReports http://developando.com/blog/java-fuentes-adicionales-generacion-pdf-jasperreports http://developando.com/blog/java-fuentes-adicionales-generacion-pdf-jasperreports#comments Mon, 27 Apr 2015 06:43:48 +0000 http://developando.com/blog/?p=3132 En este tutorial vamos a ver cómo añadir todas las fuentes que necesitamos para poder gerenar PDFs desde Java medienta la librería de “jasperreports”. Para la generación de PDFs desde Java vamos a utilizar la librería “jasperreports-6.0.4.jar” que se puede incluir fácilmente en un proyecto maven añadiendo la siguiente dependencia: <dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version>6.0.4</version></dependency> Esto […]

The post Java fuentes adicionales generación PDF con JasperReports appeared first on Developando.com.

]]>
En este tutorial vamos a ver cómo añadir todas las fuentes que necesitamos para poder gerenar PDFs desde Java medienta la librería de “jasperreports”.

Para la generación de PDFs desde Java vamos a utilizar la librería “jasperreports-6.0.4.jar” que se puede incluir fácilmente en un proyecto maven añadiendo la siguiente dependencia:

  1. <dependency>
  2. <groupId>net.sf.jasperreports</groupId>
  3. <artifactId>jasperreports</artifactId>
  4. <version>6.0.4</version>
  5. </dependency>

Esto incluirá en nuestro proyecto una libraría con el nombre “jasperreports-6.0.4.jar”. También se puede añadir una librería adicional de jasperreports que contiene una extensión con diferentes fuentes utilizando la siguiente dependencia en maven:

  1. <dependency>
  2. <groupId>net.sf.jasperreports</groupId>
  3. <artifactId>jasperreports-fonts</artifactId>
  4. <version>6.0.0</version>
  5. </dependency>

Con estas dos librerías en nuestro proyecto podremos crear informes en PDF pero veremos que si utilizamos alguna fuentes por ejemplo en negrita, en el PDF que se genera no se verán estos caracteres en negrita, sino que serán impresos con la fuente por defecto de jasperReports.

Añadir nuevas fuentes

En este tutorial vamos a añadir dos nuevas fuentes para “Arial” y “Arial bold”, que nos permitirá poder generar informes utilizando la fuente arial normal y negrita. Para ello lo que vamos a generar es una nueva librería en la que incluiremos los ficheros de las fuentes y un fichero XML con el “índice” de fuentes que se han incluido.

1.- Crear proyecto Eclipse

Creamos un proyecto Java nuevo en Eclipse y en la carpeta raíz del proyecto vamos a crear el fichero de propiedades que se necesita para configurar la nuevas fuentes de JasperReports. Este fichero se debe llamar “jasperreports_extension.properties“, y tendrá un contenido como el siguiente:

  1. net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
  2. net.sf.jasperreports.extension.simple.font.families.myfamily=fonts/listado-fuentes.xml

De las líneas anteriores hay que fijarse en el nombre del fichero donde se incluirán las diferentes familias de fuentes que se van a añadir, en nuestro ejemplo se llama “listado-fuentes.xml“.

2.- Incluir fichero fuentes (.ttf)

El siguiente paso es incluir en el proyecto los ficheros “.ttf” de cada una de las fuentes que queramos añadir. Para ello creamos una nueva carpeta con el nombre “fonts” y añadimos en ella cada uno de estos ficheros, en nuestro ejemplo añadiremos los ficheros “arial.ttf” y “arialbd.ttf”.

En esta misma carpeta “fonts” debemos crear el fichero con el nombre “listado-fuentes.xml” con el listado de todas las familias de fuentes a incluir, en nuestro caso la familia sera “arial” pero añadimos tanto la fuente normal como en negrita:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <fontFamilies>
  3. <fontFamily name="Arial">
  4. <normal><![CDATA[fonts/arial.ttf]]></normal>
  5. <bold><![CDATA[fonts/arialbd.ttf]]></bold>
  6. </fontFamily>
  7. </fontFamilies>

3.- Generación librería MisFuentes.jar

Una vez completados los pasos anteriores únicamente queda empaquetar el proyecto y generear un fichero “.jar” para añadir al proyecto java con el que se generarán los informes en PDF con la librería de JasperReports. Para esto vamos a crear un fichero “build.xml” de ant con el siguiente contenido, este fichero también lo creamos en el raíz del proyecto del Eclipse:

  1. <project name="MisFuentes" >
  2.     <target name="crear-jar">
  3.         <mkdir dir="build/jar"/>
  4.         <jar destfile="build/jar/MisFuentes.jar">
  5.             <fileset refid='files.for.jar'/>
  6.             <manifest>
  7. <attribute name='Specification-Version' value='1.0'/>
  8. <attribute name='Specification-Title' value='Mis fuentes' />
  9.     </manifest>
  10.         </jar>
  11.     </target>
  12.  
  13.     <fileset id="files.for.jar" dir=".">
  14. <include name="fonts/*"/>
  15. <include name="jasperreports_extension.properties"/>
  16.     </fileset>
  17.  
  18. </project>

Ejecutando la tarea ant que hemos llamado “crear-jar” obtendremos el fichero “MisFuentes.jar” que únicamente deberemos añadir a las librerías del proyecto Java desde el que se van a generar los informes en PDF mediante JasperReports.

Con esto ya tendemos las fuentes “Arial” disponibles en nuestros informes.

The post Java fuentes adicionales generación PDF con JasperReports appeared first on Developando.com.

]]>
http://developando.com/blog/java-fuentes-adicionales-generacion-pdf-jasperreports/feed 0
Llamadas gratuitas desde WhatsApp http://developando.com/blog/llamadas-gratuitas-desde-whatsapp http://developando.com/blog/llamadas-gratuitas-desde-whatsapp#comments Fri, 13 Mar 2015 17:24:32 +0000 http://developando.com/blog/?p=3123 La nueva funcionalidad que está de moda en WhatsApp son las llamadas gratuitas. Seguramente hayas oído hablar a alguien de las llamadas gratuitas de WhatsApp y has ido corriendo a actualizar la aplicación sin conseguirlas. Pues bien, os vamos a explicar cómo haceros con ella. Para poder disfrutar de llamadas gratuitas desde WhatsApp tenéis que […]

The post Llamadas gratuitas desde WhatsApp appeared first on Developando.com.

]]>
La nueva funcionalidad que está de moda en WhatsApp son las llamadas gratuitas. Seguramente hayas oído hablar a alguien de las llamadas gratuitas de WhatsApp y has ido corriendo a actualizar la aplicación sin conseguirlas. Pues bien, os vamos a explicar cómo haceros con ella.

Para poder disfrutar de llamadas gratuitas desde WhatsApp tenéis que recibir una “invitación”. Por invitación vamos a entender una llamada de otra persona que ya tenga las llamadas de WhatsApp habilitadas. Así que únicamente debes buscar entre tus contactos alguien que te pueda llamar para que “transfiera” esta funcionalidad.

Actualiza tu WhatsApp

Mantén tu WhatsApp actualizado a la última versión ya que sino no te podrán hacer la primera llamada.

Recibe la llamada

Consigue alguien que te haga una llamada desde WhatsApp, descuelga la llamada como si de una llamada normal se tratase, y una vez que finalices la llamada verás que tu WhatsApp ha cambiado de aspecto. Ahora tendrás tres pestañas en la parte superior.

  • “Llamadas”: listado de todas las llamadas enviadas o recibidas en WhatsApp
  • “Chats”: listado con todas las conversaciones que tienes abiertas.
  • “Contactos”: listado con todos los contactos que tienes en tu WhatsApp

En la siguiente imagen se muestra este nuevo menú de WhatsApp:

Llamadas gratis WhatsApp

Llamadas gratis WhatsApp

Hacer mi primera llamada desde WhatsApp

Para llamar ahora tú a tus contactos de WhatsApp, únicamente accede a una de las conversaciones que tengas abiertas y verás que en la parte superior aparece un nuevo icono de llamada. Pulsa sobre este icono para iniciar una llamada WhatsApp:

WhatsApp llamadas gratuitas

WhatsApp llamadas gratuitas

Se iniciará una llamada mostrándose en pantalla los botones para:

  • Activar/Desactivar el altavoz.
  • Activar/Desactivar el micrófono.
  • Finalizar la llamada.
  • Mostrar la ventana de la conversación con el contacto al que se está llamando.
Llamadas gratis WhatsApp

Llamadas gratis WhatsApp

Así de sencillo es comenzar a utilizar las llamadas gratuitas desde WhatsApp. Si aún no las tienes y estás interesado puedes contactar con nosotros.

The post Llamadas gratuitas desde WhatsApp appeared first on Developando.com.

]]>
http://developando.com/blog/llamadas-gratuitas-desde-whatsapp/feed 0
Apache POI, leer fichero Excel desde Java http://developando.com/blog/apache-poi-leer-fichero-excel-desde-java http://developando.com/blog/apache-poi-leer-fichero-excel-desde-java#comments Tue, 24 Feb 2015 08:41:27 +0000 http://developando.com/blog/?p=3100 En este tutorial vamos a explicar cómo leer el contenido de un fichero excel desde Java utilizando la librerías de Apache POI Antes de comenzar a trabajar hay que saber si se va a leer un fichero excel con extensión “xls”, que se corresponde con ficheros excel 97 al 2007, o un fichero Excel con […]

The post Apache POI, leer fichero Excel desde Java appeared first on Developando.com.

]]>
En este tutorial vamos a explicar cómo leer el contenido de un fichero excel desde Java utilizando la librerías de Apache POI

Antes de comenzar a trabajar hay que saber si se va a leer un fichero excel con extensión “xls”, que se corresponde con ficheros excel 97 al 2007, o un fichero Excel con extensión “xlsx”, versiones mayores al 2007. En función del tipo de fichero Excel con el que vamos a trabajar deberemos utilizar unas clases u otras.

Lectura ficheros Excel 97-2007 (.xls)

Para la lectura de este tipo de ficheros excel vamos a utilizar el API de POI-HSSF. Para descargar el fichero “poi-3.11.jar” hay que acceder a la página de descargas de apache.

Una vez tenemos el fichero “poi-3.11.jar” o el correspondiente con la versión más actual lo incluimos el proyecto java. El siguiente código muestra cómo leer todas las filas de una hoja excel:

  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. import java.util.Iterator;
  5.  
  6. import org.apache.poi.hssf.usermodel.HSSFSheet;
  7. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  8. import org.apache.poi.ss.usermodel.Cell;
  9. import org.apache.poi.ss.usermodel.Row;
  10.  
  11. public class LeerExcel {
  12.  
  13.     public static void main(String args[]) throws IOException{
  14. FileInputStream file = new FileInputStream(new File("C:\\prueb_excel.xls"));
  15. // Crear el objeto que tendra el libro de Excel
  16. HSSFWorkbook workbook = new HSSFWorkbook(file);
  17.  
  18. /*
  19. * Obtenemos la primera pestaña a la que se quiera procesar indicando el indice.
  20. * Una vez obtenida la hoja excel con las filas que se quieren leer obtenemos el iterator
  21. * que nos permite recorrer cada una de las filas que contiene.
  22. */
  23. HSSFSheet sheet = workbook.getSheetAt(0);
  24. Iterator<Row> rowIterator = sheet.iterator();
  25.  
  26. Row row;
  27. // Recorremos todas las filas para mostrar el contenido de cada celda
  28. while (rowIterator.hasNext()){
  29.     row = rowIterator.next();
  30.  
  31.     // Obtenemos el iterator que permite recorres todas las celdas de una fila
  32.     Iterator<Cell> cellIterator = row.cellIterator();
  33.     Cell celda;
  34.  
  35.     while (cellIterator.hasNext()){
  36. celda = cellIterator.next();
  37.  
  38. // Dependiendo del formato de la celda el valor se debe mostrar como String, Fecha, boolean, entero...
  39. switch(celda.getCellType()) {
  40. case Cell.CELL_TYPE_NUMERIC:
  41.     if( HSSFDateUtil.isCellDateFormatted(celda) ){
  42.        System.out.println(celda.getDateCellValue());
  43.     }else{
  44.        System.out.println(celda.getNumericCellValue());
  45.     }
  46.     System.out.println(celda.getNumericCellValue());
  47.     break;
  48. case Cell.CELL_TYPE_STRING:
  49.     System.out.println(celda.getStringCellValue());
  50.     break;
  51. case Cell.CELL_TYPE_BOOLEAN:
  52.     System.out.println(celda.getBooleanCellValue());
  53.     break;
  54. }
  55.     }
  56. }
  57.  
  58. // cerramos el libro excel
  59. workbook.close();
  60.     }
  61.  
  62. }

Lectura ficheros Excel (.xlsx)

Para poder trabajar con ficheros excel con extensión ‘.xlsx’ debemos añadir las siguientes librerías en nuestro proyecto java:

  • poi-3.11.jar
  • poi-ooxml-3.11.jar
  • poi-ooxml-schemas-3.11.jar
  • xmlbeans-2.6-0.jar

Tras incluir las librerías anteriores en nuestro proyecto Jata, y con el siguiente código recorreríamos todas las celdas contenidas en las primera hoja del libro excel.

  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. import java.util.Iterator;
  5.  
  6. import org.apache.poi.ss.usermodel.Cell;
  7. import org.apache.poi.ss.usermodel.Row;
  8. import org.apache.poi.xssf.usermodel.XSSFSheet;
  9. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  10.  
  11. public class LeerExcel {
  12.  
  13.     public static void main(String args[]) throws IOException{
  14. FileInputStream file = new FileInputStream(new File("C:\\prueb_excel.xls"));
  15. // Crear el objeto que tendra el libro de Excel
  16. XSSFWorkbook workbook = new XSSFWorkbook(file);
  17.  
  18. /*
  19. * Obtenemos la primera pestaña a la que se quiera procesar indicando el indice.
  20. * Una vez obtenida la hoja excel con las filas que se quieren leer obtenemos el iterator
  21. * que nos permite recorrer cada una de las filas que contiene.
  22. */
  23. XSSFSheet sheet = workbook.getSheetAt(0);
  24. Iterator<Row> rowIterator = sheet.iterator();
  25.  
  26. Row row;
  27. // Recorremos todas las filas para mostrar el contenido de cada celda
  28. while (rowIterator.hasNext()){
  29.     row = rowIterator.next();
  30.  
  31.     // Obtenemos el iterator que permite recorres todas las celdas de una fila
  32.     Iterator<Cell> cellIterator = row.cellIterator();
  33.     Cell celda;
  34.  
  35.     while (cellIterator.hasNext()){
  36. celda = cellIterator.next();
  37.  
  38. // Dependiendo del formato de la celda el valor se debe mostrar como String, Fecha, boolean, entero...
  39. switch(celda.getCellType()) {
  40. case Cell.CELL_TYPE_NUMERIC:
  41.     if( DateUtil.isCellDateFormatted(celda) ){
  42.        System.out.println(celda.getDateCellValue());
  43.     }else{
  44.        System.out.println(celda.getNumericCellValue());
  45.     }
  46.     break;
  47. case Cell.CELL_TYPE_STRING:
  48.     System.out.println(celda.getStringCellValue());
  49.     break;
  50. case Cell.CELL_TYPE_BOOLEAN:
  51.     System.out.println(celda.getBooleanCellValue());
  52.     break;
  53. }
  54.     }
  55. }
  56.  
  57. // cerramos el libro excel
  58. workbook.close();
  59.     }
  60.  
  61. }

The post Apache POI, leer fichero Excel desde Java appeared first on Developando.com.

]]>
http://developando.com/blog/apache-poi-leer-fichero-excel-desde-java/feed 0

Last updated by at .