<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog Desarrollo - Información para desarrolladores &#187; Java</title>
	<atom:link href="http://blogdesarrollo.com/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogdesarrollo.com</link>
	<description>Noticias, manuales, recursos, eventos para el desarrollo web.</description>
	<lastBuildDate>Tue, 15 May 2012 12:52:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Tipos primitivos como byte arrays en java</title>
		<link>http://blogdesarrollo.com/java/2012/03/08/tipos-primitivos-como-byte-arrays-en-java/</link>
		<comments>http://blogdesarrollo.com/java/2012/03/08/tipos-primitivos-como-byte-arrays-en-java/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 16:11:40 +0000</pubDate>
		<dc:creator>alegg</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blogdesarrollo.com/?p=1044</guid>
		<description><![CDATA[Estos metodos java le pueden ser utiles a alguien que haya tenido el mismo problema que yo. En una app android necesitaba enviar algunos datos int, double, float y convertirlos a byte arrays, para enviarlos como paquetes usando el protocolo UDP. Aca van los metodos para tratar tipos y byte arrays. Enlace Original: http://www.daniweb.com/software-development/java/code/216874 /* [...]]]></description>
			<content:encoded><![CDATA[<p>Estos metodos java le pueden ser utiles a alguien que haya tenido el mismo problema que yo. En una app android necesitaba enviar algunos datos int, double, float y convertirlos a byte arrays, para enviarlos como paquetes usando el protocolo UDP.</p>
<p>Aca van los metodos para tratar tipos y byte arrays.</p>
<p>Enlace Original: <a href="http://www.daniweb.com/software-development/java/code/216874">http://www.daniweb.com/software-development/java/code/216874</a></p>
<pre class="php">/* ========================= */
	/* "primitive type --&gt; byte[] data" Methods */
	/* ========================= */

	public static byte[] toByta(byte data) {
	    return new byte[]{data};
	}

	public static byte[] toByta(byte[] data) {
	    return data;
	}

	/* ========================= */

	public static byte[] toByta(short data) {
	    return new byte[] {
	        (byte)((data &gt;&gt; <img src='http://blogdesarrollo.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> &amp; 0xff),
	        (byte)((data &gt;&gt; 0) &amp; 0xff),
	    };
	}

	public static byte[] toByta(short[] data) {
	    if (data == null) return null;
	    // ----------
	    byte[] byts = new byte[data.length * 2];
	    for (int i = 0; i &lt; data.length; i++) 	        System.arraycopy(toByta(data[i]), 0, byts, i * 2, 2); 	    return byts; 	} 	/* ========================= */ 	public static byte[] toByta(char data) { 	    return new byte[] { 	        (byte)((data &gt;&gt; <img src='http://blogdesarrollo.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> &amp; 0xff),
	        (byte)((data &gt;&gt; 0) &amp; 0xff),
	    };
	}

	public static byte[] toByta(char[] data) {
	    if (data == null) return null;
	    // ----------
	    byte[] byts = new byte[data.length * 2];
	    for (int i = 0; i &lt; data.length; i++) 	        System.arraycopy(toByta(data[i]), 0, byts, i * 2, 2); 	    return byts; 	} 	/* ========================= */ 	public static byte[] toByta(int data) { 	    return new byte[] { 	        (byte)((data &gt;&gt; 24) &amp; 0xff),
	        (byte)((data &gt;&gt; 16) &amp; 0xff),
	        (byte)((data &gt;&gt; <img src='http://blogdesarrollo.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> &amp; 0xff),
	        (byte)((data &gt;&gt; 0) &amp; 0xff),
	    };
	}

	public static byte[] toByta(int[] data) {
	    if (data == null) return null;
	    // ----------
	    byte[] byts = new byte[data.length * 4];
	    for (int i = 0; i &lt; data.length; i++) 	        System.arraycopy(toByta(data[i]), 0, byts, i * 4, 4); 	    return byts; 	} 	/* ========================= */ 	public static byte[] toByta(long data) { 	    return new byte[] { 	        (byte)((data &gt;&gt; 56) &amp; 0xff),
	        (byte)((data &gt;&gt; 48) &amp; 0xff),
	        (byte)((data &gt;&gt; 40) &amp; 0xff),
	        (byte)((data &gt;&gt; 32) &amp; 0xff),
	        (byte)((data &gt;&gt; 24) &amp; 0xff),
	        (byte)((data &gt;&gt; 16) &amp; 0xff),
	        (byte)((data &gt;&gt; <img src='http://blogdesarrollo.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> &amp; 0xff),
	        (byte)((data &gt;&gt; 0) &amp; 0xff),
	    };
	}

	public static byte[] toByta(long[] data) {
	    if (data == null) return null;
	    // ----------
	    byte[] byts = new byte[data.length * 8];
	    for (int i = 0; i &lt; data.length; i++)
	        System.arraycopy(toByta(data[i]), 0, byts, i * 8, 8);
	    return byts;
	}

	/* ========================= */

	public static byte[] toByta(float data) {
	    return toByta(Float.floatToRawIntBits(data));
	}

	public static byte[] toByta(float[] data) {
	    if (data == null) return null;
	    // ----------
	    byte[] byts = new byte[data.length * 4];
	    for (int i = 0; i &lt; data.length; i++)
	        System.arraycopy(toByta(data[i]), 0, byts, i * 4, 4);
	    return byts;
	}

	/* ========================= */

	public static byte[] toByta(double data) {
	    return toByta(Double.doubleToRawLongBits(data));
	}

	public static byte[] toByta(double[] data) {
	    if (data == null) return null;
	    // ----------
	    byte[] byts = new byte[data.length * 8];
	    for (int i = 0; i &lt; data.length; i++) 	        System.arraycopy(toByta(data[i]), 0, byts, i * 8, 8); 	    return byts; 	} 	/* ========================= */ 	public static byte[] toByta(boolean data) { 	    return new byte[]{(byte)(data ? 0x01 : 0x00)}; // bool -&gt; {1 byte}
	}

	public static byte[] toByta(boolean[] data) {
	    // Advanced Technique: The byte array containts information
	    // about how many boolean values are involved, so the exact
	    // array is returned when later decoded.
	    // ----------
	    if (data == null) return null;
	    // ----------
	    int len = data.length;
	    byte[] lena = toByta(len); // int conversion; length array = lena
	    byte[] byts = new byte[lena.length + (len / <img src='http://blogdesarrollo.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> + (len % 8 != 0 ? 1 : 0)];
	    // (Above) length-array-length + sets-of-8-booleans +? byte-for-remainder
	    System.arraycopy(lena, 0, byts, 0, lena.length);
	    // ----------
	    // (Below) algorithm by Matthew Cudmore: boolean[] -&gt; bits -&gt; byte[]
	    for (int i = 0, j = lena.length, k = 7; i &lt; data.length; i++) {
	        byts[j] |= (data[i] ? 1 : 0) &lt;&lt; k--;
	        if (k &lt; 0) { j++; k = 7; }
	    }
	    // ----------
	    return byts;
	}

	/* ========================= */

	public static byte[] toByta(String data) {
	    return (data == null) ? null : data.getBytes();
	}

	public static byte[] toByta(String[] data) {
	    // Advanced Technique: Generates an indexed byte array
	    // which contains the array of Strings. The byte array
	    // contains information about the number of Strings and
	    // the length of each String.
	    // ----------
	    if (data == null) return null;
	    // ---------- flags:
	    int totalLength = 0; // Measure length of final byte array
	    int bytesPos = 0; // Used later
	    // ----- arrays:
	    byte[] dLen = toByta(data.length); // byte array of data length
	    totalLength += dLen.length;
	    int[] sLens = new int[data.length]; // String lengths = sLens
	    totalLength += (sLens.length * 4);
	    byte[][] strs = new byte[data.length][]; // array of String bytes
	    // ----- pack strs:
	    for (int i = 0; i &lt; data.length; i++) { 	        if (data[i] != null) { 	            strs[i] = toByta(data[i]); 	            sLens[i] = strs[i].length; 	            totalLength += strs[i].length; 	        } else { 	            sLens[i] = 0; 	            strs[i] = new byte[0]; // prevent null entries 	        } 	    } 	    // ---------- 	    byte[] bytes = new byte[totalLength]; // final array 	    System.arraycopy(dLen, 0, bytes, 0, 4); 	    byte[] bsLens = toByta(sLens); // byte version of String sLens 	    System.arraycopy(bsLens, 0, bytes, 4, bsLens.length); 	    // ----- 	    bytesPos += 4 + bsLens.length; // mark position 	    // ----- 	    for (byte[] sba : strs) { 	        System.arraycopy(sba, 0, bytes, bytesPos, sba.length); 	        bytesPos += sba.length; 	    } 	    // ---------- 	    return bytes; 	} 	/* ========================= */ 	/* "byte[] data --&gt; primitive type" Methods */
	/* ========================= */

	public static byte toByte(byte[] data) {
	    return (data == null || data.length == 0) ? 0x0 : data[0];
	}

	public static byte[] toByteA(byte[] data) {
	    return data;
	}

	/* ========================= */

	public static short toShort(byte[] data) {
	    if (data == null || data.length != 2) return 0x0;
	    // ----------
	    return (short)(
	            (0xff &amp; data[0]) &lt; &lt; 8   |
	            (0xff &amp; data[1]) &lt;&lt; 0
	            );
	}

	public static short[] toShortA(byte[] data) {
	    if (data == null || data.length % 2 != 0) return null;
	    // ----------
	    short[] shts = new short[data.length / 2];
	    for (int i = 0; i &lt; shts.length; i++) {
	        shts[i] = toShort( new byte[] {
	            data[(i*2)],
	            data[(i*2)+1]
	        } );
	    }
	    return shts;
	}

	/* ========================= */

	public static char toChar(byte[] data) {
	    if (data == null || data.length != 2) return 0x0;
	    // ----------
	    return (char)(
	            (0xff &amp; data[0]) &lt;&lt; 8   |
	            (0xff &amp; data[1]) &lt;&lt; 0
	            );
	}

	public static char[] toCharA(byte[] data) {
	    if (data == null || data.length % 2 != 0) return null;
	    // ----------
	    char[] chrs = new char[data.length / 2];
	    for (int i = 0; i &lt; chrs.length; i++) {
	        chrs[i] = toChar( new byte[] {
	            data[(i*2)],
	            data[(i*2)+1],
	        } );
	    }
	    return chrs;
	}

	/* ========================= */

	public static int toInt(byte[] data) {
	    if (data == null || data.length != 4) return 0x0;
	    // ----------
	    return (int)( // NOTE: type cast not necessary for int
	            (0xff &amp; data[0]) &lt;&lt; 24  |
	            (0xff &amp; data[1]) &lt;&lt; 16  |
	            (0xff &amp; data[2]) &lt;&lt; 8   |
	            (0xff &amp; data[3]) &lt;&lt; 0
	            );
	}

	public static int[] toIntA(byte[] data) {
	    if (data == null || data.length % 4 != 0) return null;
	    // ----------
	    int[] ints = new int[data.length / 4];
	    for (int i = 0; i &lt; ints.length; i++)
	        ints[i] = toInt( new byte[] {
	            data[(i*4)],
	            data[(i*4)+1],
	            data[(i*4)+2],
	            data[(i*4)+3],
	        } );
	    return ints;
	}

	/* ========================= */

	public static long toLong(byte[] data) {
	    if (data == null || data.length != <img src='http://blogdesarrollo.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> return 0x0;
	    // ----------
	    return (long)(
	            // (Below) convert to longs before shift because digits
	            //         are lost with ints beyond the 32-bit limit
	            (long)(0xff &amp; data[0]) &lt;&lt; 56  |
	            (long)(0xff &amp; data[1]) &lt;&lt; 48  |
	            (long)(0xff &amp; data[2]) &lt;&lt; 40  |
	            (long)(0xff &amp; data[3]) &lt;&lt; 32  |
	            (long)(0xff &amp; data[4]) &lt;&lt; 24  |
	            (long)(0xff &amp; data[5]) &lt;&lt; 16  |
	            (long)(0xff &amp; data[6]) &lt;&lt; 8   |
	            (long)(0xff &amp; data[7]) &lt;&lt; 0
	            );
	}

	public static long[] toLongA(byte[] data) {
	    if (data == null || data.length % 8 != 0) return null;
	    // ----------
	    long[] lngs = new long[data.length / 8];
	    for (int i = 0; i &lt; lngs.length; i++) {
	        lngs[i] = toLong( new byte[] {
	            data[(i*8)],
	            data[(i*8)+1],
	            data[(i*8)+2],
	            data[(i*8)+3],
	            data[(i*8)+4],
	            data[(i*8)+5],
	            data[(i*8)+6],
	            data[(i*8)+7],
	        } );
	    }
	    return lngs;
	}

	/* ========================= */

	public static float toFloat(byte[] data) {
	    if (data == null || data.length != 4) return 0x0;
	    // ---------- simple:
	    return Float.intBitsToFloat(toInt(data));
	}

	public static float[] toFloatA(byte[] data) {
	    if (data == null || data.length % 4 != 0) return null;
	    // ----------
	    float[] flts = new float[data.length / 4];
	    for (int i = 0; i &lt; flts.length; i++) {
	        flts[i] = toFloat( new byte[] {
	            data[(i*4)],
	            data[(i*4)+1],
	            data[(i*4)+2],
	            data[(i*4)+3],
	        } );
	    }
	    return flts;
	}

	/* ========================= */

	public static double toDouble(byte[] data) {
	    if (data == null || data.length != <img src='http://blogdesarrollo.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> return 0x0;
	    // ---------- simple:
	    return Double.longBitsToDouble(toLong(data));
	}

	public static double[] toDoubleA(byte[] data) {
	    if (data == null) return null;
	    // ----------
	    if (data.length % 8 != 0) return null;
	    double[] dbls = new double[data.length / 8];
	    for (int i = 0; i &lt; dbls.length; i++) {
	        dbls[i] = toDouble( new byte[] {
	            data[(i*8)],
	            data[(i*8)+1],
	            data[(i*8)+2],
	            data[(i*8)+3],
	            data[(i*8)+4],
	            data[(i*8)+5],
	            data[(i*8)+6],
	            data[(i*8)+7],
	        } );
	    }
	    return dbls;
	}

	/* ========================= */

	public static boolean toBoolean(byte[] data) {
	    return (data == null || data.length == 0) ? false : data[0] != 0x00;
	}

	public static boolean[] toBooleanA(byte[] data) {
	    // Advanced Technique: Extract the boolean array's length
	    // from the first four bytes in the char array, and then
	    // read the boolean array.
	    // ----------
	    if (data == null || data.length &lt; 4) return null;
	    // ----------
	    int len = toInt(new byte[]{data[0], data[1], data[2], data[3]});
	    boolean[] bools = new boolean[len];
	    // ----- pack bools:
	    for (int i = 0, j = 4, k = 7; i &lt; bools.length; i++) { 	        bools[i] = ((data[j] &gt;&gt; k--) &amp; 0x01) == 1;
	        if (k &lt; 0) { j++; k = 7; }
	    }
	    // ----------
	    return bools;
	}

	/* ========================= */

	public static String toString(byte[] data) {
	    return (data == null) ? null : new String(data);
	}

	public static String[] toStringA(byte[] data) {
	    // Advanced Technique: Extract the String array's length
	    // from the first four bytes in the char array, and then
	    // read the int array denoting the String lengths, and
	    // then read the Strings.
	    // ----------
	    if (data == null || data.length &lt; 4) return null;
	    // ----------
	    byte[] bBuff = new byte[4]; // Buffer
	    // -----
	    System.arraycopy(data, 0, bBuff, 0, 4);
	    int saLen = toInt(bBuff);
	    if (data.length &lt; (4 + (saLen * 4))) return null;
	    // -----
	    bBuff = new byte[saLen * 4];
	    System.arraycopy(data, 4, bBuff, 0, bBuff.length);
	    int[] sLens = toIntA(bBuff);
	    if (sLens == null) return null;
	    // ----------
	    String[] strs = new String[saLen];
	    for (int i = 0, dataPos = 4 + (saLen * 4); i &lt; saLen; i++) { 	        if (sLens[i] &gt; 0) {
	            if (data.length &gt;= (dataPos + sLens[i])) {
	                bBuff = new byte[sLens[i]];
	                System.arraycopy(data, dataPos, bBuff, 0, sLens[i]);
	                dataPos += sLens[i];
	                strs[i] = toString(bBuff);
	            } else return null;
	        }
	    }
	    // ----------
	    return strs;
	}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blogdesarrollo.com/java/2012/03/08/tipos-primitivos-como-byte-arrays-en-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lista la funcionalidad completa de JDK 7</title>
		<link>http://blogdesarrollo.com/java/2011/01/17/lista-la-funcionalidad-completa-de-jdk-7/</link>
		<comments>http://blogdesarrollo.com/java/2011/01/17/lista-la-funcionalidad-completa-de-jdk-7/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 13:00:10 +0000</pubDate>
		<dc:creator>alegg</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blogdesarrollo.com/?p=830</guid>
		<description><![CDATA[Leyendo picandocodigo.net hablan sobre esta nueva versón del SDK.  Personalmente sólo estoy usando java para android, pero nunca se sabe que nos puede deparar el cliente&#8230;]]></description>
			<content:encoded><![CDATA[<p>Leyendo <a href="http://picandocodigo.net/2011/lista-la-funcionalidad-completa-de-jdk-7/" target="_blank">picandocodigo.net</a> hablan sobre esta nueva versón del SDK.  Personalmente sólo estoy usando java para android, pero nunca se sabe que nos puede deparar el cliente&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogdesarrollo.com/java/2011/01/17/lista-la-funcionalidad-completa-de-jdk-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seminario de Hibernate 3</title>
		<link>http://blogdesarrollo.com/java/2010/04/07/seminario-de-hibernate-3/</link>
		<comments>http://blogdesarrollo.com/java/2010/04/07/seminario-de-hibernate-3/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 19:57:17 +0000</pubDate>
		<dc:creator>alegg</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blogdesarrollo.com/?p=670</guid>
		<description><![CDATA[He dejado de trabajar en Java hace un par de años,  sin embargo siempre trato de leer el blog javahispano.org, que me ha ayudado mucho en mi anterior vida. En este caso, para lo que aún siguen en tema, les dejo este documento pdf del seminario sobre Hibernate 3.]]></description>
			<content:encoded><![CDATA[<p>He dejado de trabajar en Java hace un par de años,  sin embargo siempre trato de leer el blog javahispano.org, que me ha ayudado mucho en mi anterior vida. En este caso, para lo que aún siguen en tema, les dejo este documento <strong>pdf </strong>del seminario sobre <a href="http://www.javahispano.org/contenidos/archivo/5860540/Seminario_Hibernate_3.pdf" target="_blank">Hibernate 3.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdesarrollo.com/java/2010/04/07/seminario-de-hibernate-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El proyecto mono supera a Java en aplicaciones cliente Linux</title>
		<link>http://blogdesarrollo.com/java/2009/07/22/el-proyecto-mono-supera-a-java-en-aplicaciones-cliente-linux/</link>
		<comments>http://blogdesarrollo.com/java/2009/07/22/el-proyecto-mono-supera-a-java-en-aplicaciones-cliente-linux/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 14:01:49 +0000</pubDate>
		<dc:creator>alegg</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Mono]]></category>

		<guid isPermaLink="false">http://blogdesarrollo.com/?p=311</guid>
		<description><![CDATA[Vía javahispano.org me entero que  la plataforma Mono ha superado a Java en aplicaciones cliente bajo Linux. Otro pequeño golpecillo para el ego de Java. Url:  http://www.sdtimes.com/link/33618 (ingles)]]></description>
			<content:encoded><![CDATA[<p>Vía <a href="http://javahispano.org" target="_blank">javahispano.org</a> me entero que <span> la plataforma </span><a href="http://es.wikipedia.org/wiki/Proyecto_Mono" target="_blank">Mono</a> <span>ha superado a Java en aplicaciones cliente bajo Linux.</span> Otro pequeño golpecillo para el ego de Java.</p>
<p>Url:  <a href="http://www.sdtimes.com/link/33618" target="_blank">http://www.sdtimes.com/link/33618</a> (ingles)</p>
]]></content:encoded>
			<wfw:commentRss>http://blogdesarrollo.com/java/2009/07/22/el-proyecto-mono-supera-a-java-en-aplicaciones-cliente-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>10 buenas razones para abandonar java</title>
		<link>http://blogdesarrollo.com/java/2009/07/15/10-buenas-razones-para-abandonar-java/</link>
		<comments>http://blogdesarrollo.com/java/2009/07/15/10-buenas-razones-para-abandonar-java/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 14:58:32 +0000</pubDate>
		<dc:creator>alegg</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blogdesarrollo.com/?p=281</guid>
		<description><![CDATA[En Javahispano leo sobre este post publicado en theserverside.com llamado &#8220;10 good reasons to look for something better than Java&#8220;. Aunque ya hace casi 2 años que no utilizo Java para del desarrollo web, la lista esta referida sólamente al lenguaje, que para mi entender es lo menos problematico a la hora de desarrollar proyectos [...]]]></description>
			<content:encoded><![CDATA[<p>En Javahispano leo sobre este post publicado en theserverside.com llamado &#8220;<a href="http://www.theserverside.com/news/thread.tss?thread_id=55185" target="_blank">10 good reasons to look for something better than Java</a>&#8220;. Aunque ya hace casi 2 años que no utilizo Java para del desarrollo web, la lista esta referida sólamente al lenguaje, que para mi entender es lo menos problematico a la hora de desarrollar proyectos webs.</p>
<p>En mi experiencia, lo que me ha quitado mucho las ganas de volver a trabajar en java para mis proyectos (pequeños y medianos, aclaro) es todo el entorno de apis, frameworks, contenedores y demas carga que viene incluido en un proyecto java, si no queremos usar jsp a  &#8220;a pelo&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogdesarrollo.com/java/2009/07/15/10-buenas-razones-para-abandonar-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sun prepara su Java App Store</title>
		<link>http://blogdesarrollo.com/java/2009/05/21/sun-prepara-su-java-app-store/</link>
		<comments>http://blogdesarrollo.com/java/2009/05/21/sun-prepara-su-java-app-store/#comments</comments>
		<pubDate>Thu, 21 May 2009 15:11:47 +0000</pubDate>
		<dc:creator>alegg</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://blogdesarrollo.com/?p=190</guid>
		<description><![CDATA[Sun Microsystems planea lanzar una enorme App Store que dejaría a servicios como el de Apple muy por detrás en tamaño. Según el CEO de Sun, se esperan mejorar las ventas y reavivar el negocio con la nueva Java App Store para PCs. Sun está actualmente sumida en un proceso de absorción por parte de [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Sun Microsystems planea lanzar una enorme App Store que dejaría a servicios como el de Apple muy por detrás en tamaño. Según el CEO de Sun, se esperan mejorar las ventas y reavivar el negocio con la nueva Java App Store para PCs. Sun está actualmente sumida en un proceso de absorción por parte de Oracle, quien ha afirmado estar muy interesada en la tecnología Java de Sun y no tanto en el hardware de la marca</strong></p>
<p>Una <strong>tienda de aplicaciones</strong> que usen el lenguaje de programación de Sun Java tiene un gran potencial debido a los millones de desarrolladores que crean aplicaciones en Java, que lleva en el mercado desde mediados de los noventa. Sun estima que se usan aplicaciones Java en más de 4.500 millones de ordenadores, móviles y otros gadgets. El CEO de Sun, <strong>Jonathan Schwartz</strong>, ha indicado que en un principio iría <strong>enfocada al mercado de PCs</strong>, que estima en una comunidad de 1.000 millones de usuarios.</p>
<p>Via &#8211; <a href="http://www.muycomputer.com" target="_blank">http://www.muycomputer.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdesarrollo.com/java/2009/05/21/sun-prepara-su-java-app-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comparativa de Flash, Silverlight y JavaFX</title>
		<link>http://blogdesarrollo.com/java/2009/03/16/comparativa-de-flash-silverlight-y-javafx/</link>
		<comments>http://blogdesarrollo.com/java/2009/03/16/comparativa-de-flash-silverlight-y-javafx/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 15:26:00 +0000</pubDate>
		<dc:creator>alegg</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blogdesarrollo.com/?p=115</guid>
		<description><![CDATA[Enlace]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.shinedraw.com/image-manipulation/javafx-vs-flash-vs-silverlight/" target="_blank">Enlace </a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdesarrollo.com/java/2009/03/16/comparativa-de-flash-silverlight-y-javafx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enviando mails desde la web con JavaMail</title>
		<link>http://blogdesarrollo.com/java/2009/02/10/enviando-mails-desde-la-web-con-javamail/</link>
		<comments>http://blogdesarrollo.com/java/2009/02/10/enviando-mails-desde-la-web-con-javamail/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 01:03:43 +0000</pubDate>
		<dc:creator>alegg</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blogdesarrollo.com/?p=72</guid>
		<description><![CDATA[public static boolean send(String replyTo, String from_email, String to_email, String subject, String body, String type) { boolean sent = false; try { Properties prop = new Properties(); prop.setProperty(”mail.smtp.localhost”, “localhost”); prop.setProperty(”mail.smtp.port”, “25″); Session session = Session.getDefaultInstance(prop); Message msg = new MimeMessage(session); msg.setSubject(subject); InternetAddress from = new InternetAddress(from_email); InternetAddress to = new InternetAddress(to_email); msg.addRecipient(Message.RecipientType.TO, to); msg.setFrom(from); Multipart [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>public static boolean send(String replyTo, String from_email, String to_email, String subject, String body, String type) {<br />
boolean sent = false;<br />
try {<br />
Properties prop = new Properties();<br />
prop.setProperty(”mail.smtp.localhost”, “localhost”);<br />
prop.setProperty(”mail.smtp.port”, “25″);<br />
Session session = Session.getDefaultInstance(prop);</p>
<p>Message msg = new MimeMessage(session);<br />
msg.setSubject(subject);</p>
<p>InternetAddress from = new InternetAddress(from_email);<br />
InternetAddress to = new InternetAddress(to_email);<br />
msg.addRecipient(Message.RecipientType.TO, to);<br />
msg.setFrom(from);</p>
<p>Multipart multipart = new MimeMultipart(”related”);</p>
<p>BodyPart htmlPart = new MimeBodyPart();<br />
if (type.equals(”html”)) htmlPart.setContent(body, “text/html”);<br />
else htmlPart.setContent(body, “text/plain”);</p>
<p>multipart.addBodyPart(htmlPart);<br />
msg.setContent(multipart);</p>
<p>Transport transport = session.getTransport(”smtp”);<br />
transport.connect(USERNAME, PASSWORD);	// username, password to connect to smtp server<br />
transport.sendMessage(msg, msg.getAllRecipients());<br />
transport.close();</p>
<p>} catch (Exception e) {<br />
System.err.println(”[MailTool] send() : ” + e.getMessage());<br />
e.printStackTrace();<br />
}</p>
<p>return sent;<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blogdesarrollo.com/java/2009/02/10/enviando-mails-desde-la-web-con-javamail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

