J2ME Introducción

Java es un lenguaje de programación orientada a objetos, cuya principal cualidad es la de ser interpretada por una maquina virtual, que por tanto su ejecución/interpretación no depende del tipo de maquina ni del tipo de Sistema Operativo.

J2ME es una versión de Java reducida destinada a los dispositivos móviles y PDAs.  

Java es un lenguaje de programación orientada a objetos, cuya principal cualidad es la de ser interpretada por una maquina virtual, que por tanto su ejecución/interpretación no depende del tipo de maquina ni del tipo de Sistema Operativo.

Para ello se han diseñado diferentes maquinas virtuales, no todas son iguales, debido a la gran capacidad de Java, esta se divide en pequeños módulos o paquetes, de esta manera cada maquina virtual solo dispondrá de aquellos paquetes que pueda usar, o que la sean necesarios.

Dentro de los dispositivos móviles solo se puede encontrar un numero reducidos de paquetes, tenemos que pensar que a mayor numero de paquetes que incorpore la maquina virtual mayor sera el tamaño de esta.

Herramientas que necesitaremos:

Existen versiones tanto para Windows como para Linux, así como MacOS.

Windows:

Maquina virtual Java (Java Runtime Enterprise “JRE”) Y el kit de desarrollo (Sofware Developmen Kit “SDK”)

Java: Si se desea se pude instalar en el mismo paquete el programa Netbeans.

Zona de descargas

Netbeans: Si no lo instalaste junto al JDK, descárgatelo o pide  que te envíen una copia por correo, tardará unas semanas.

Zona de descargas

Netbeans Mobility pack: Este es paquete correspondiente a los dispositivos móviles, tiene su emulador y ejemplos prácticos.

Zona de descarga

Screenshots

 alt

Primera parte:

una vez descargado todo el sofware ya podemos empezar.

Introducción a Java:

Toda aplicación java forma parte de una clase, cada plataforma tiene como inicio de clase y un tipo característico de clase a la que pertenece, por ejemplo un applet de java que podemos ver incrustado en una ventana web, pertenece al tipo de clase Applet.

En los dispositivos móviles esta clase de la que heredan todas las aplicaciones moviles se llama MIDlet.

Crearemos ahora una clase que no herede de nadie, es decir para se ejecutada en un PC, toda clase tiene un constructor, toda aplicación que ejecutemos tiene que tener un método main de dicha clase.

Ejemplo de una Aplicacion Java:

public class Hola {

    public Hola() {

    }

   

    public static void main(String[] args) {

       System.out.println(“Hola Mundo”);

    }

   

}

 

Ejemplo de Applet:

import java.awt.Color;
import java.awt.Graphics;

public class NewApplet extends java.applet.Applet {

    public void paint(Graphics g) {
        g.fillRect(0,0,100,100);
        g.setColor(new Color(255,255,255));
        g.drawString(“Hola Mundo”,10,10);
    }
}

Ejemplo de MIDlet:

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class Midlet extends MIDlet {
    public void startApp() {
        Display pantalla = Display.getDisplay(this);
        Form formulario=new Form(“Mi formulario”);
        formulario.append(“Hola mundo”);
        pantalla.setCurrent(formulario);
    }
   
    public void pauseApp() {
    }
   
    public void destroyApp(boolean unconditional) {
    }
}

 Para mas informacion sobre ejemplos podemos ir a la Pagina Oficial de Ejemplos de Sun.

 

JavaScript CountDown

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 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 && s.length < 2)    s = "0" + s;  return "" + s + "";}

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("");}

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);
 

Descomprimir un archivo Zip en Java

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: " +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();
      }
   }}

Crear un archivo Zip en Java

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 outFilename = "outfile.zip";
        ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outFilename));
    
        // Compress the files
        for (int i=0; i
            FileInputStream in = new FileInputStream(filenames[i]);
    
            // Add ZIP entry to output stream.
            out.putNextEntry(new ZipEntry(filenames[i]));
    
            // Transfer bytes from the file to the ZIP file
            int len;
            while ((len = in.read(buf)) > 0) {
                out.write(buf, 0, len);
            }
    
            // Complete the entry
            out.closeEntry();
            in.close();
        }
    
        // Complete the ZIP file
        out.close();
    } catch (IOException e) {
    }

Hilos en Java

    Los hilos son lineas de ejecución que queremos que sean ejecutadas concurrentemente para que no bloqueen la linea de ejecución central.

//Proceso principal
Thread 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.

Presentaciones del contenido

Joomla! provee la plenitud de flexibilidad cuando quieras mostrar tu contenido web. Aunque estés usando Joomla! para un blog, noticias o un sitio web para una compañia, encontrarás uno o más estilos para mostrar las informaciónes. También puedes cambiar el estilo dinámicamente dependiendo de tus preferencias. Joomla! llama a como se mostrará la página la Presentación (layout). Usa la guía de más abajo para comprender lo que hay disponible y como puedes usarlo.

Contenido

Joomla! hace extremadamente fácil el agregar y mostrar contenido. Todo el contenido se ubica cuando se localiza a la etiqueta mainbody en el template. Hay tres tipos de presentaciones (layouts) disponibles en Joomla! y todas ellas pueden personalizarse usando los parámetros de configuración. El modo de mostrarse y los parámetors están asignados en el ítem del menú usado para mostrar el contenido sobre el que estás trabajando.

Presentación blog

La presentación blog mostrará una lista de todos los artículos del tipo de blog seleccionado (Sección o Categoría) en la posición mainbody de tu template. Esto te dará un título estándar y un texto de introcucción de cada artículo que esté dentro una sección/categoría en particular. Puedes personalizar este modo de presentanción desde los apartados preferéncias y parámetros, (revisa el artículo parámetros) esto se hace desde el menú, no desde el gestor de sesiones!

Presentación Blog de Archivo

La presentación blog de archivo puede darte una salida en pantalla similar a la de artículos, pero añade en la parte superior dos listas de selección desplegable y un botón de búsqueda para que el usuario pueda realizar búsquedas específicas por meses y por años, dentro de los artículos archivados.

Presentación lista

La presentación en lista simplemente de da un Listado de tablas de todos los títulos que pueda haber dentro de una sección o categoría en particular. Sin texto de introducción, solo los títulos. Puedes configurar la cantidad de títulos a mostrar en esa tabla a través de los parámetros. La presentación de la tabla también puede facilitar filtros por sección para que los usuarios puedan reordenar, filtrar y asignar cuantos títulos se listarán por página (por encima de 50)

Wrapper

Los Wrappers o envolturas permiten alojar dentro de Joomla! aplicaciones independientes. El contenido dentro de la envoltura aparece dentro del área primaria definida por la etiqueta ‘mainbody’ y te permite mostrar su contenido como a una parte de nuestro propio sitio. Un Wrapper alojará un IFRAME dentro de la sección de contenido en tu sitio y lo envolverá alrededor con la plantilla estandar que estés usando, de un mismo modo que cuando, por ejemplo, se trata de un artículo.

Parámetros de contenido

Los parámetros para cada tipo de presentación puede encontrarse a mano derecha de las cajas del editor que hay dentro de la pantalla de configuración del ítem del menú. La disposición o cantidad de los parámetros dependen del tipo de presentación que estés configurando.

Terminos del registro

No hay ninguna condición, de momento.

Newsflash 4

Ayer todos los servidores en U.S. apostaron por ofrecer más RAM y mejores CPUs. Una persona habló sobre las necesidades de incrementar los recursos para que en el futuro los buses de salida en las placas madre den optimos resultados.

Newsflash 5

Joomla! 1.5 – ‘Experimenta la libertad’!. Nunca fué tan fácil crear tu propio sitio web con contenido dinámico. Gestiona todo tu contenido desde la mejor interface y en cualquier idioma que hables.

¿Qué novedades trae la 1.5?

Como en las liberaciones previas de Joomla!, se proporciona un entorno de trabajo unificado y fácil de usar para proveer contenido para sitios web de todos los estilos. Para soportar el cambio natural de internet y las tecnologías web emergentes, Joomla! requiere de una reestructuración sustancial de su funcionalidad del núcleo y también hemos usado ese esfuerzo para simplificar muchas cosas en el interior de la interfaz actual. Joomla! 1.5 tiene muchas características nuevas.

Switch to our mobile site