<?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>A un Bit &#187; Java</title>
	<atom:link href="http://www.aunbit.com/category/recursos/manuales/java/feed" rel="self" type="application/rss+xml" />
	<link>http://www.aunbit.com</link>
	<description>e-commerce y nuevas tecnologías</description>
	<lastBuildDate>Wed, 07 Dec 2011 22:53:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Primeros pasos con Java</title>
		<link>http://www.aunbit.com/recursos/manuales/java/primeros-pasos-con-java</link>
		<comments>http://www.aunbit.com/recursos/manuales/java/primeros-pasos-con-java#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[¿Qué es JAVA? Java es un lenguaje de programación multiplataforma (capaz de ser ejecutado en diferentes equipos con diferentes sistemas operativos). Java utiliza todas las ventajas del lenguaje C (principal lenguaje de programación utilizado para crear la mayoría de programas que utilizamos), e incorpora otras nuevas como es la Programación Orientada a Objetos. Cuando programamos [...]]]></description>
			<content:encoded><![CDATA[<p><strong>¿Qué es JAVA?</strong></p>
<p>Java es un lenguaje de programación multiplataforma (capaz de ser ejecutado en diferentes equipos con diferentes sistemas operativos).</p>
<p>Java utiliza todas las ventajas del lenguaje C (principal lenguaje de programación utilizado para crear la mayoría de programas que utilizamos), e incorpora otras nuevas como es la Programación Orientada a Objetos.</p>
<p>Cuando programamos en Java, y generamos código ejecutable o también llamado bitecodes, este código es pseudointerpretado, es decir no contienen las instrucciones propias del procesador, sino que tiene instrucciones interpretadas por la Maquina Virtual Java, que convierte estas instrucciones en las instrucciones propias de cada arquitectura o procesador.</p>
<p><strong>¿Que es la Programación Orientada a Objetos?</strong></p>
<p>La programación como tal, puede entenderse como una sucesión de instrucciones, existen múltiples instrucciones:</p>
<p> </p>
<ul>
<li>Movimiento de datos.</li>
<li>Aritmética.</li>
<li>Operaciones de control de programas.</li>
<li>Operaciones lógicas.</li>
<li>Desplazamientos y rotaciones.</li>
<li>Operaciones de control del sistema.</li>
</ul>
<div>Un nivel mas enriquecido hace uso de funciones, las funciones son conjuntos de instrucciones, que realizan operaciones sobre datos localizados en determinados lugares de la memoria, normalmente se utiliza la pila del programa, a la cual se llama desde una instrucción de llamada &#8220;CALL&#8221; y otra de retorno &#8220;RET&#8221; de tal manera que el programa salta de la posición actual de ejecución de la secuencia de instrucciones a la posición de inicio de la función, posteriormente cuando termina de ejecutar la función salta a la posición desde la cual fue llamada, esto permite hacer múltiples llamadas y en múltiples lugares del código.</div>
<p> </p>
<p>Pero para una programación mucho mas enriquecida, tales como estructuras de datos, nos ayuda mucho tener uso de Objetos.</p>
<p>Un Objeto es una estructura formada por:</p>
<p> </p>
<ul>
<li>Espacios de memoria destinadas a datos (propiedades del objeto=&gt;variables).</li>
<li>Espacios de memoria destinados a instrucciones (métodos del objeto=&gt;funciones).</li>
</ul>
<div>Las características de los Objetos son:</div>
<div>
<ul>
<li>Capacidad de heredar unos de otros, esto permite que definamos un nuevo objeto que ya cuenta con métodos y propiedades definidas anteriormente, estas pueden ser nuevamente redefinidas.</li>
<li>Las propiedades de los objetos pueden ser a su vez objetos.</li>
</ul>
</div>
<p> </p>
<p>Por ejemplo, supongamos que tenemos que llevar el registro de artículos de una tienda, cada articulo tiene unas propiedades inherentes, tales como el precio, los artículos también tienen metodos o acciones que se les realizan sobre ellos mismos, como por ejemplo: rebajar(cantidad), esto haría que el precio del articulo se reduciese a la cantidad.</p>
<p>Supongamos que tenemos un almacén, por lo que tendremos que hacer una lista de artículos, es decir un objeto que contiene a otros objetos.</p>
<p>En Java se llaman Clases, para este ejemplo lo escribiremos un poco en código idealizado, pero que hará una idea de como se programa en Java.</p>
<p>Articulo:</p>
<p><em>class Articulo{</em></p>
<p><em> int precio;</em></p>
<p><em> public void rebajar(int cantidad){</em></p>
<p><em> precio=precio-cantidad;</em></p>
<p><em> }</em></p>
<p><em>}</em></p>
<p>Almacen:</p>
<p><em>class almacen{</em></p>
<p><em> Lista articulos;</em></p>
<p><em> public void añadir(Articulo articulo){</em></p>
<p><em> articulos.add(articulo);</em></p>
<p><em> }</em></p>
<p>}</p>
<p><strong>¿Que necesito para empezar a programar?</strong></p>
<p>En principio existen unas herramientas propias para el desarrollo llamadas JDK, pero como somos principiantes, nos iremos por el camino fácil.</p>
<p>Yo utilizo <a href="http://www.netbeans.org" target="_blank">NetBeans</a>, y desde la propia pagina de descarga del JDK <a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">http://java.sun.com/javase/downloads/index.jsp</a> podemos encontrar uno de los enlaces que contiene directamente el NetBeans (JDK XX with NetBeans XX), si tenemos el JDK instalado ya, instalaremos simplemente NetBeans, en <a target="_blank" href="http://netbeans.org/downloads/index.html">http://netbeans.org/downloads/index.html</a> hay muchas versiones y en múltiples idiomas, yo aconsejo descargar en Español y la versión básica Java SE, pero si queremos hacer programas para móviles necesitamos la versión Java.</p>
<p><strong>¿Mi primer programa?</strong></p>
<p>Para ello ejecutamos el programa NetBeans,  y hacemos click en Archivo -&gt; Proyecto Nuevo, en la ventana marcamos Java y Aplicación Java.</p>
<p>Presionamos Siguiente y rellenamos el nómbre del proyecto y su ubicación y finalizar.</p>
<p>Nos debe salir un código como el siguiente, &#8220;he borrado todo aquello que no sirve (comentarios)&#8221;</p>
<p><em>package javaapplication1;</em></p>
<p> </p>
<p><em>public class Main {</em></p>
<p><em> public static void main(String[] args) {</em></p>
<p><em> // TODO code application logic here</em></p>
<p><em> }</em></p>
<p><em>}</em></p>
<p> </p>
<p>Bien toda aplicación Java de escritorio inicia su código en el método public static void main(String[] args).</p>
<p>dónde args es un Array que contiene los parámetros de inicio del programa.</p>
<p>por lo que donde pone  <em>// TODO code application logic here</em><span>, ponemos <em>System.out.println(&#8220;Hola mundo&#8221;);</em></span></p>
<p> </p>
<p><em>package javaapplication1;</em></p>
<p> </p>
<p><em>public class Main {</em></p>
<p><em> public static void main(String[] args) {</em></p>
<p><em> <i>System.out.println(&#8220;Hola mundo&#8221;);</em></i></p>
<p><meta content="text/html; charset=utf-8" http-equiv="content-type" /></p>
<p><em> }</em></p>
<p><em>}</em></p>
<p>Al ejecutar el programa (botón verde de Play) obtenemos la siguientes lineas:</p>
<p> </p>
<p>run:</p>
<p>Hola mundo</p>
<p>GENERACIÓN CORRECTA (total time: 0 seconds)</p>
<p>Ya tenemos nuestro primer programa.</p>
<p> </p>
<p> </p>
<p> </p>
<p><meta content="text/html; charset=utf-8" http-equiv="content-type" /><br /><span id="more-95"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/recursos/manuales/java/primeros-pasos-con-java/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript CountDown</title>
		<link>http://www.aunbit.com/recursos/manuales/java/javascript-countdown</link>
		<comments>http://www.aunbit.com/recursos/manuales/java/javascript-countdown#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Crear tu cuenta atrás en JavaScript javaScript countdown/count-up code (copy and paste to your Web page): TargetDate = "12/31/2020 5:00 AM";BackColor = "palegreen";ForeColor = "navy";CountActive = true;CountStepper = -1;LeadingZero = true;DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";FinishMessage = "It is finally here!";   //countdown.js file// /*Author: Robert Hashemianhttp://www.hashemian.com/ You can use this [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Crear tu cuenta atrás en JavaScript </strong><br />  javaScript countdown/count-up code (copy and paste to your Web page):</p>
<pre>TargetDate = "12/31/2020 5:00 AM";BackColor = "palegreen";ForeColor = "navy";CountActive = true;CountStepper = -1;LeadingZero = true;DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";FinishMessage = "It is finally here!";
</pre>
<pre> </pre>
<pre>//countdown.js file//</pre>
<pre>/*Author: Robert Hashemianhttp://www.hashemian.com/

You can use this code in any manner so long as the author'sname, Web address and this disclaimer is kept intact.********************************************************Usage Sample:

TargetDate = "12/31/2020 5:00 AM";BackColor = "palegreen";ForeColor = "navy";CountActive = true;CountStepper = -1;LeadingZero = true;DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";FinishMessage = "It is finally here!";

*/

function calcage(secs, num1, num2) {  s = ((Math.floor(secs/num1))%num2).toString();  if (LeadingZero &#038;&#038; s.length < 2)    s = "0" + s;  return "<b>" + s + "</b>";}

function CountBack(secs) {  if (secs < 0) {    document.getElementById("cntdwn").innerHTML = FinishMessage;    return;  }  DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));  DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));  DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));  DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));

  document.getElementById("cntdwn").innerHTML = DisplayStr;  if (CountActive)    setTimeout("CountBack(" + (secs+CountStepper) + ")", SetTimeOutPeriod);}

function putspan(backcolor, forecolor) { document.write("<span id='cntdwn' style='background-color:" + backcolor +                 "; color:" + forecolor + "'></span>");}

if (typeof(BackColor)=="undefined")  BackColor = "white";if (typeof(ForeColor)=="undefined")  ForeColor= "black";if (typeof(TargetDate)=="undefined")  TargetDate = "12/31/2020 5:00 AM";if (typeof(DisplayFormat)=="undefined")  DisplayFormat = "%%D%% Dias, %%H%%:%%M%%,%%S%%";if (typeof(CountActive)=="undefined")  CountActive = true;if (typeof(FinishMessage)=="undefined")  FinishMessage = "";if (typeof(CountStepper)!="number")  CountStepper = -1;if (typeof(LeadingZero)=="undefined")  LeadingZero = true;

CountStepper = Math.ceil(CountStepper);if (CountStepper == 0)  CountActive = false;var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;putspan(BackColor, ForeColor);var dthen = new Date(TargetDate);var dnow = new Date();if(CountStepper>0)  ddiff = new Date(dnow-dthen);else  ddiff = new Date(dthen-dnow);gsecs = Math.floor(ddiff.valueOf()/1000);CountBack(gsecs);</pre>
<pre> </pre>
<p><span id="more-92"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/recursos/manuales/java/javascript-countdown/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Descomprimir un archivo Zip en Java</title>
		<link>http://www.aunbit.com/recursos/manuales/java/descomprimir-un-archivo-zip-en-java</link>
		<comments>http://www.aunbit.com/recursos/manuales/java/descomprimir-un-archivo-zip-en-java#comments</comments>
		<pubDate>Thu, 15 Nov 2007 21:07:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Descomprimir archivos comprimidos Zip usando las librerías nativas de java. import java.io.*;import java.util.zip.*; public class UnZip { final int BUFFER = 2048; public static void main (String argv[]) { try { BufferedOutputStream dest = null; FileInputStream fis = new FileInputStream(argv[0]); ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis)); ZipEntry entry; while((entry = zis.getNextEntry()) != null) { System.out.println("Extracting: [...]]]></description>
			<content:encoded><![CDATA[<pre>Descomprimir archivos comprimidos Zip usando las librerías nativas de java.</pre>
<pre>import java.io.*;import java.util.zip.*;

public class UnZip {
<span style="font-size: 12px;">   final int BUFFER = 2048;
   public static void main (String argv[]) {
      try {
         BufferedOutputStream dest = null;
         FileInputStream fis = new 	   FileInputStream(argv[0]);
         ZipInputStream zis = new 	   ZipInputStream(new BufferedInputStream(fis));
         ZipEntry entry;
         while((entry = zis.getNextEntry()) != null) {
            System.out.println("Extracting: " +entry);
            int count;
            byte data[] = new byte[BUFFER];
            // write the files to the disk
            FileOutputStream fos = new 	      FileOutputStream(entry.getName());
            dest = new               BufferedOutputStream(fos, BUFFER);
            while ((count = zis.read(data, 0, BUFFER))               != -1) {
               dest.write(data, 0, count);
            }
            dest.flush();
            dest.close();
         }
         zis.close();
      } catch(Exception e) {
         e.printStackTrace();
      }
   }}</span></pre>
<p><span id="more-93"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/recursos/manuales/java/descomprimir-un-archivo-zip-en-java/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Crear un archivo Zip en Java</title>
		<link>http://www.aunbit.com/recursos/manuales/java/crear-un-archivo-zip-en-java</link>
		<comments>http://www.aunbit.com/recursos/manuales/java/crear-un-archivo-zip-en-java#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Como crear archivos comprimidos Zip usando las librerías nativas de Java. // These are the files to include in the ZIP file     String[] filenames = new String[]{"filename1", "filename2"};         // Create a buffer for reading the files     byte[] buf = new byte[1024];         try {         // Create the ZIP file         String [...]]]></description>
			<content:encoded><![CDATA[<p>Como crear archivos comprimidos Zip usando las librerías nativas de Java.</p>
<pre><span>// These are the files to include in the ZIP file</span></pre>
<pre><span><span>    </span>String[] filenames = new String[]{<em><span style="color: rgb(0, 102, 255);">"filename1"</span></em>, <em><span style="color: rgb(0, 102, 255);">"filename2"</span></em>};</span></pre>
<pre><span><span>    </span></span></pre>
<pre><span><span>    </span>// Create a buffer for reading the files</span></pre>
<pre><span><span>    </span>byte[] buf = new byte[<em><span style="color: rgb(0, 102, 255);">1024</span></em>];</span></pre>
<pre><span><span>    </span></span></pre>
<pre><span><span>    </span>try {</span></pre>
<pre><span><span>        </span>// Create the ZIP file</span></pre>
<pre><span><span>        </span>String outFilename = <em><span style="color: rgb(0, 102, 255);">"outfile.zip"</span></em>;</span></pre>
<pre><span><span>        </span>ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outFilename));</span></pre>
<pre><span><span>    </span></span></pre>
<pre><span><span>        </span>// Compress the files</span></pre>
<pre><span><span>        </span>for (int i=0; i<filenames.length; i++) {</span></pre>
<pre><span><span>            </span>FileInputStream in = new FileInputStream(filenames[i]);</span></pre>
<pre><span><span>    </span></span></pre>
<pre><span><span>            </span>// Add ZIP entry to output stream.</span></pre>
<pre><span><span>            </span>out.putNextEntry(new ZipEntry(filenames[i]));</span></pre>
<pre><span><span>    </span></span></pre>
<pre><span><span>            </span>// Transfer bytes from the file to the ZIP file</span></pre>
<pre><span><span>            </span>int len;</span></pre>
<pre><span><span>            </span>while ((len = in.read(buf)) > 0) {</span></pre>
<pre><span><span>                </span>out.write(buf, 0, len);</span></pre>
<pre><span><span>            </span>}</span></pre>
<pre><span><span>    </span></span></pre>
<pre><span><span>            </span>// Complete the entry</span></pre>
<pre><span><span>            </span>out.closeEntry();</span></pre>
<pre><span><span>            </span>in.close();</span></pre>
<pre><span><span>        </span>}</span></pre>
<pre><span><span>    </span></span></pre>
<pre><span><span>        </span>// Complete the ZIP file</span></pre>
<pre><span><span>        </span>out.close();</span></pre>
<pre><span><span>    </span>} catch (IOException e) {</span></pre>
<pre><span><span>    </span></span>}</pre>
<p><span id="more-94"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/recursos/manuales/java/crear-un-archivo-zip-en-java/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hilos en Java</title>
		<link>http://www.aunbit.com/recursos/manuales/java/hilos-en-java</link>
		<comments>http://www.aunbit.com/recursos/manuales/java/hilos-en-java#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[    Los hilos son lineas de ejecución que queremos que sean ejecutadas concurrentemente para que no bloqueen la linea de ejecución central. //Proceso principalThread hilo = new Thread(){        public void run ()        {            //Ejecuta linea de ejecución concurrente.        }    };    hilo.start();    //Continuación de la ejecución del proceso principal sin quedarse bloqueado por el hilo.]]></description>
			<content:encoded><![CDATA[<p>    Los hilos son lineas de ejecución que queremos que sean ejecutadas concurrentemente para que no bloqueen la linea de ejecución central.</p>
<p>//Proceso principal<br />Thread hilo = new Thread(){<br />        public void run ()<br />        {<br />            //Ejecuta linea de ejecución concurrente.<br />        }<br />    };<br />    hilo.start();<br />    //Continuación de la ejecución del proceso principal sin quedarse bloqueado por el hilo.</p>
<p><span id="more-91"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/recursos/manuales/java/hilos-en-java/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

