# Java Platform, Micro Edition

Java Plataform, Micro Edition ou Java ME, é uma tecnologia que possibilita o desenvolvimento de software para sistemas e aplicações embutidas ou embarcados, ou seja, toda aquela que roda em um dispositivo de propósito específico, desempenhando alguma tarefa que seja útil para o dispositivo. Java ME, até 2005, era conhecido como J2ME.
É a plataforma Java para dispositivos compactos, como celulares, PDAs, controles remotos, e uma outra gama de dispositivos. Java ME é uma coleção de APIs do Java definidas através da JCP (Java Community Proccess).
A comunidade JCP adotou duas abordagens para especificar as necessidades dos pequenos dispositivos - a sua arquitetura computacional.
Primeiro eles definiram o ambiente de execução JRE (do inglês Java Run-Time Environment), e um conjunto de classes básicas, chamadas de core, que operam sobre cada dispositivo. Isso foi denominado Configurações (do inglês Configurations). Uma configuração define a JVM (Java Virtual Machine) para um pequeno e específico dispositivo computacional. Há duas configurações para um dispositivo embarcado, uma para dispositivos com maior capacidade computacional (do inglês High-end consumer devices), denominado CDC (Connected Device Configuration). A outra com menor capacidade computacional (do inglês Low-end consumer devices), denominado CLDC (Connected Limited Device Configuration).
A segunda abordagem foi definida como um perfil (do inglês profile). Um perfil consiste em um conjunto de classes que possibilita os desenvolvedores de software implementarem as aplicações de acordo com as características das aplicações dos pequenos dispositivos computacionais. Foi denominado o MIDP (Mobile Information Device Profile), oferecendo recursos como rede, componentes de interface, armazenamento local, etc.

## APIs

* CLDC 1.0 (JSR 30)
** CLDC 1.1 (JSR 139)
* MIDP 1.0 (JSR 37)
** MIDP 2.0 (JSR 118)
** MIDP 3.0 (JSR 271)
* Bluetooth API (JSR 82)
* Mobile Media API (JSR 135)
* Security and Trust Services API (JSR 177)
* Wireless Messaging (JSR 120)
** Wireless Messaging 2.0 (JSR 205)
* Location API (JSR 179)
* Mobile 3D Graphics API (JSR 184)
** Mobile 3D Graphics API 2.0 (JSR 297)
* Scalable 2D Vector Graphics API (JSR 226)
** Scalable 2D Vector Graphics API 2.0 (JSR 287)
* Payment API (JSR 229)
* Java Bindings for OpenGL® ES (JSR 239)
Além do CLDC, que é voltado para o uso em dispositivos mais limitados como celulares, há também o CDC que é utilizado em dispositivos com um pouco mais de recursos, como em decodificadores de TV Digital, sistemas embarcados, etc. no CDC está inclusa a especificação do JavaTV, que é uma API para desenvolvimento de aplicativos interativos adotada pelo SBTVD. A especificação do JavaDTV está pronta porém ainda não há nenhuma implementação disponível. O JavaDTV inclui o JavaTV além de outras API's específicas do padrão de TV Digital brasileiro.

## Pacotes

* javax.microedition.amms.*;
* javax.microedition.apdu.*;
* javax.microedition.content.*;
* javax.microedition.global.*;
* javax.microedition.io.*;
* javax.microedition.jcrmi.*;
* javax.microedition.khronos.*;
* javax.microedition.lcdui.*;
* javax.microedition.location.*;
* javax.microedition.m2g.*;
* javax.microedition.m3g.*;
* javax.microedition.media.*;
* javax.microedition.midlet.*;
* javax.microedition.payment.*;
* javax.microedition.pim.*;
* javax.microedition.pki.*;
* javax.microedition.rms.*;
* javax.microedition.securityservice.*;
* javax.microedition.sip.*;
* javax.microedition.xml.*;