<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META NAME="keywords" CONTENT="netbeans,magazine,NetBeans,Mobility,Pack,mobile,Java ME,j2me">
<META NAME="description" CONTENT="NetBeans Magazine: Write Once, Deploy Anywhere with NetBeans Mobility Pack">
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<title>Write Once, Deploy Anywhere</title>
<style>
<!--
p.Noparagraphstyle, li.Noparagraphstyle, div.Noparagraphstyle
	{line-height:120%;
	text-autospace:none;
	font-size:12.0pt;
	font-family:Times;
	color:black;}
p.NB-Corpo, li.NB-Corpo, div.NB-Corpo
	{text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Interttulo, li.NB-Interttulo, div.NB-Interttulo
	{line-height:120%;
	page-break-after:avoid;
	text-autospace:none;
	font-size:13.0pt;
	font-family:"Verdana";
	color:#9A1560;
	font-weight:bold;}
p.NB-Interttulo2, li.NB-Interttulo2, div.NB-Interttulo2
	{line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
p.NB-Notadica, li.NB-Notadica, div.NB-Notadica
	{text-align:left;
	line-height:13.0pt;
	tab-stops:14.15pt;
	text-autospace:none;
	font-size:10.0pt;
	font-family:"Verdana";
	color:#BC371F;
	letter-spacing:.05pt;}
p.NB-Cdigointerno, li.NB-Cdigointerno, div.NB-Cdigointerno
	{line-height:10.0pt;
	text-autospace:none;
	font-size:8.0pt;
	font-family:"Verdana";
	color:black;}
p.NB-Legendaimagem, li.NB-Legendaimagem, div.NB-Legendaimagem
	{line-height:12.0pt;
	tab-stops:14.15pt;
	text-autospace:none;
	font-size:10.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
span.NB-NegritoTcnico
	{font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;
	font-weight:bold;
	vertical-align:baseline;}
span.NB-Legendanegrito
	{font-weight:bold;}
div.NB-Interttulo21 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
li.NB-Interttulo21 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
p.NB-Interttulo21 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
div.NB-Corpo1 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
li.NB-Corpo1 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
div.NB-Cdigointerno1 {line-height:10.0pt;
	text-autospace:none;
	font-size:8.0pt;
	font-family:"Verdana";
	color:black;}
div.NB-Corpo2 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
div.NB-Interttulo1 {line-height:120%;
	page-break-after:avoid;
	text-autospace:none;
	font-size:13.0pt;
	font-family:"Verdana";
	color:#9A1560;
	font-weight:bold;}
div.NB-Interttulo22 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
div.NB-Notadica1 {text-align:left;
	line-height:13.0pt;
	tab-stops:14.15pt;
	text-autospace:none;
	font-size:10.0pt;
	font-family:"Verdana";
	color:#BC371F;
	letter-spacing:.05pt;}
div.Noparagraphstyle1 {line-height:120%;
	text-autospace:none;
	font-size:12.0pt;
	font-family:Times;
	color:black;}
li.NB-Cdigointerno1 {line-height:10.0pt;
	text-autospace:none;
	font-size:8.0pt;
	font-family:"Verdana";
	color:black;}
li.NB-Corpo2 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
li.NB-Interttulo1 {line-height:120%;
	page-break-after:avoid;
	text-autospace:none;
	font-size:13.0pt;
	font-family:"Verdana";
	color:#9A1560;
	font-weight:bold;}
li.NB-Interttulo22 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
li.NB-Notadica1 {text-align:left;
	line-height:13.0pt;
	tab-stops:14.15pt;
	text-autospace:none;
	font-size:10.0pt;
	font-family:"Verdana";
	color:#BC371F;
	letter-spacing:.05pt;}
li.Noparagraphstyle1 {line-height:120%;
	text-autospace:none;
	font-size:12.0pt;
	font-family:Times;
	color:black;}
p.NB-Cdigointerno1 {line-height:10.0pt;
	text-autospace:none;
	font-size:8.0pt;
	font-family:"Verdana";
	color:black;}
p.NB-Corpo2 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo11 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Interttulo1 {line-height:120%;
	page-break-after:avoid;
	text-autospace:none;
	font-size:13.0pt;
	font-family:"Verdana";
	color:#9A1560;
	font-weight:bold;}
p.NB-Interttulo22 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
p.NB-Notadica1 {text-align:left;
	line-height:13.0pt;
	tab-stops:14.15pt;
	text-autospace:none;
	font-size:10.0pt;
	font-family:"Verdana";
	color:#BC371F;
	letter-spacing:.05pt;}
p.Noparagraphstyle1 {line-height:120%;
	text-autospace:none;
	font-size:12.0pt;
	font-family:Times;
	color:black;}
span.NB-NegritoTcnico1 {font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;
	font-weight:bold;
	vertical-align:baseline;}
.NB-Listagenstitulos {font-family: Verdana, Arial, Helvetica, sans-serif;
	color: #FFFFFF;
	font-size: 14px;}
.NB-Listagens {font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #000000;}
.NB-Quadrotitulo {font-family: Verdana, Arial, Helvetica, sans-serif; color: #FFFFFF; font-size: 14px; font-weight: bold;}
p.NB-Corpo21 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
span.NB-NegritoTcnico11 {font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;
	font-weight:bold;
	vertical-align:baseline;}
div.NB-Interttulo23 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
div.NB-TabelaCorpo {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
div.NB-TabelaIntertitulo {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;
	letter-spacing:-.05pt;
	font-weight:bold;}
li.NB-Interttulo23 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
li.NB-TabelaCorpo {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
li.NB-TabelaIntertitulo {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;
	letter-spacing:-.05pt;
	font-weight:bold;}
p.NB-Interttulo23 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
p.NB-TabelaCorpo {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
p.NB-TabelaIntertitulo {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;
	letter-spacing:-.05pt;
	font-weight:bold;}
p.NB-Interttulo231 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
p.NB-TabelaCorpo1 {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
p.NB-TabelaIntertitulo1 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;
	letter-spacing:-.05pt;
	font-weight:bold;}
div.NB-TabelaCorpo1 {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
div.NB-TabelaIntertitulo1 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;
	letter-spacing:-.05pt;
	font-weight:bold;}
li.NB-TabelaCorpo1 {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
li.NB-TabelaIntertitulo1 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;
	letter-spacing:-.05pt;
	font-weight:bold;}
p.NB-TabelaCorpo2 {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
p.NB-TabelaIntertitulo2 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;
	letter-spacing:-.05pt;
	font-weight:bold;}
p.NB-Corpo111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo112 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1121 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo11211 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo112111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1121111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1121112 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1121113 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo11211131 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-TabelaCorpo21 {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
p.NB-TabelaIntertitulo21 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;
	letter-spacing:-.05pt;
	font-weight:bold;}
div.NB-TabelaCorpo2 {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
li.NB-TabelaCorpo2 {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
p.NB-TabelaCorpo3 {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
span.NB-NegritoTcnico2 {font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;
	font-weight:bold;
	vertical-align:baseline;}
span.Refdenotaderodap00E9 {vertical-align:super;}
p.NB-Corpo11111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo112111311 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1121113111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1112 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;}
.style1 {font-size: 9.0pt}
.style3 {font-size: 11px;
	font-weight: bold;}
p.NB-Corpo22 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
div.NB-Corpo3 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
div.NB-Interttulo3 {line-height:120%;
	page-break-after:avoid;
	text-autospace:none;
	font-size:13.0pt;
	font-family:"Verdana";
	color:#9A1560;
	font-weight:bold;}
div.NB-Interttulo24 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BA3287;
	font-weight:bold;}
div.NB-Notadica2 {text-align:left;
	line-height:13.0pt;
	tab-stops:14.15pt;
	text-autospace:none;
	font-size:10.0pt;
	font-family:"Verdana";
	color:#BA3287;
	letter-spacing:.05pt;}
li.NB-Corpo3 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
li.NB-Interttulo3 {line-height:120%;
	page-break-after:avoid;
	text-autospace:none;
	font-size:13.0pt;
	font-family:"Verdana";
	color:#9A1560;
	font-weight:bold;}
li.NB-Interttulo24 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BA3287;
	font-weight:bold;}
li.NB-Notadica2 {text-align:left;
	line-height:13.0pt;
	tab-stops:14.15pt;
	text-autospace:none;
	font-size:10.0pt;
	font-family:"Verdana";
	color:#BA3287;
	letter-spacing:.05pt;}
p.NB-Corpo3 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Interttulo3 {line-height:120%;
	page-break-after:avoid;
	text-autospace:none;
	font-size:13.0pt;
	font-family:"Verdana";
	color:#9A1560;
	font-weight:bold;}
p.NB-Interttulo24 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BA3287;
	font-weight:bold;}
p.NB-Notadica2 {text-align:left;
	line-height:13.0pt;
	tab-stops:14.15pt;
	text-autospace:none;
	font-size:10.0pt;
	font-family:"Verdana";
	color:#BA3287;
	letter-spacing:.05pt;}
span.TechText {font-family:"Verdana";
	letter-spacing:0pt;
	font-weight:bold;}
p.NB-Corpo31 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Interttulo241 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BA3287;
	font-weight:bold;}
p.NB-Interttulo31 {line-height:120%;
	page-break-after:avoid;
	text-autospace:none;
	font-size:13.0pt;
	font-family:"Verdana";
	color:#9A1560;
	font-weight:bold;}
p.NB-Notadica21 {text-align:left;
	line-height:13.0pt;
	tab-stops:14.15pt;
	text-autospace:none;
	font-size:10.0pt;
	font-family:"Verdana";
	color:#BA3287;
	letter-spacing:.05pt;}
span.TechText1 {font-family:"Verdana";
	letter-spacing:0pt;
	font-weight:bold;}
p.NB-Corpo113 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1131 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo11311 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo113111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1131111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo11311111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo113111111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1131111111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo11311111111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Interttulo232 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:#BC371F;
	font-weight:bold;}
p.NB-TabelaCorpo4 {text-align:left;
	text-indent:5.65pt;
	line-height:14.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;}
p.NB-TabelaIntertitulo3 {line-height:12.0pt;
	page-break-after:avoid;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:white;
	letter-spacing:-.05pt;
	font-weight:bold;}
p.NB-Corpo11311111112 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo113111111121 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1131111111211 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo11311111112111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo113111111121111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo11121 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;}
p.NB-Corpo11312 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1131112 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo113112 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo113111112 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1131111112 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo113111111122 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1131111111212 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo11311111112112 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo1131111111211111 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;
	letter-spacing:.05pt;}
p.NB-Corpo11112 {text-align:left;
	text-indent:5.65pt;
	line-height:16.0pt;
	text-autospace:none;
	font-size:9.0pt;
	font-family:"Verdana";
	color:black;}
.style5 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-weight: bold;
	color: #FFFFFF;
}
-->
</style>
</head>
<body bgcolor="#FFFFFF" lang=PT-BR>
<div class=Section1>
  <table width="770" height="11357" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td height="200"><img src="/images_www/magazine/mobpack/top_mob_pack_web.jpg" width="770" height="200"></td>
    </tr>
    <tr>
      <td width="785" height="42"><p class=NB-Corpo22><strong><span lang=EN-US style='letter-spacing:
-.05pt'>Writing Applications for mobile devices and reducing device fragmentation with NetBeans Mobility Pack</span></strong></p></td>
    </tr>
    <tr>
      <td height="11094" valign="top"><p class=NB-Corpo31><span lang=EN-US>TaIke a look around
          you in just about any location &ndash; your office, walking down the street, the
          movies, even your own household &ndash; and it won&rsquo;t take a marketing genius to tell
          you that if your application is useful to people on the go but hasn&rsquo;t been
          ported to phones or PDAs, you&rsquo;re missing a pretty large market, potentially <i>millions</i> of users. Of course, that same look around will tell you that your game or
          widget had better be able to work on mobile devices of all names and sizes, or
          you&rsquo;ll cut out a large portion of your potential customer base.</span></p>
        <p class=NB-Corpo31><span lang=EN-US>Sure, it sounds like a lot of work. But in
          this article, we&rsquo;ll show you how to use the NetBeans Mobility Pack 5.5 for
          CLDC/MIDP to create a simple application suitable for cell phones and then
          deploy it to two very different devices. Best of all, you&rsquo;ll do it using only a
          single set of code instead of creating and managing a separate code base for
          each device. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>In addition, we&rsquo;ll take a quick look at the
          Mobility Pack 5.5.1 for CDC and show you how you can use it to develop
          applications for larger devices, like set-top boxes, PDAs, and the new
          generations of &ldquo;smart&rdquo; phones. </span></p>
        <p class=NB-Interttulo31><span lang=EN-US>A brief overview of the Mobility Pack </span></p>
        <p class=NB-Corpo31><span lang=EN-US>With NetBeans 5.5, there are now two
          separate versions of Mobility Pack &ndash; one for each of the standard <i>configurations</i> that specify the minimum requirements for memory, Java language features, JVM
          support, and runtime libraries. </span></p>
        <p class=NB-Notadica21><span lang=EN-US><strong>Note:</strong> In Mobility
          Pack 6.0, the CLDC/MIDP and CDC Packs will be merged.</span></p>
        <p class=NB-Corpo31><span lang=EN-US>The Mobility Pack for Connected, Limited
          Device Configuration / Mobile Information Device Profile (CLDC/MIDP) serves
          developers who create applications targeted at smaller mobile devices with
          limited resources, such as mobile phones, PDAs, and two-way pagers. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>The Mobile Information Device Profile is one
          of two profiles that works &ldquo;on top&rdquo; of CLDC (the other profile being the
          Information Module Profile). MIDP provides graphical interfaces for interactive
          applications and is the standard profile for mobile telephone development under
          the JSR 185, Java Technology for the Wireless Industry (JWTI) specification,
          and more recently also the Mobile Service Architecture (MSA) spec, JSR 248. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>The Mobility Pack for CDC provides a
          development environment for developers who are creating applications for larger
          devices, such as set-top boxes, embedded devices, high-end or smart phones, and
          PDAs. The CDC Pack supports development for all the current CDC Profiles,
          including the Foundation and Personal profiles, as well as the AGUI toolkit. It
          also supports development for the Windows CE platform. </span><span lang=EN-US>How the two Java ME configurations fit into
          the Java &ldquo;family&rdquo; is shown in <b>Figure&nbsp;1</b>.</span></p>
        <p class=NB-Corpo31><span lang=EN-US>In the next section, we&rsquo;ll create a MIDP
          application, or <i>MIDlet</i>, using the Mobility Pack for CLDC/MIDP. Then
          we&rsquo;ll look at how you can create an application using the Mobility Pack for
          CDC. It&rsquo;s worth noting here that with version 6.0, the two Packs will be
          integrated into a single Mobility module.</span></p>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image001.jpg" width="420" height="319"></td>
          </tr>
          <tr>
            <td><p class=NB-Corpo113> <strong>Figure 1.</strong> Java ME and the Java technology landscape.<br>
              </p></td>
          </tr>
        </table>
        <p class=NB-Interttulo31><span lang=EN-US>Creating a MIDlet </span></p>
        <p class=NB-Corpo31><span lang=EN-US>We&rsquo;re going to start with a very simple
          &ldquo;Hello World&rdquo; MIDlet. Although this is about the simplest MIDlet you can
          create, it will let us demonstrate the Mobility Pack without too much focus on
          writing code. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>To begin working with the Mobility Pack, you
          create a new project just as you would with any Java application, only
          selecting a Mobile project type.</span></p>
        <p class=NB-Corpo31><span lang=EN-US>In the NetBeans IDE, as you know, all Java
          development has to take place within a project. The IDE builds its project
          infrastructure directly on top of Apache Ant, and stores all the information
          about your project in an Ant script, a properties file, and a few XML
          configuration files. This means that you can build and run your projects
          outside of the IDE in exactly the same way as you would inside it. As you can
          see in the source tree shown in <b>Figure&nbsp;2</b>, however, a MIDP project
          differs from a NetBeans/Java SE project in several ways. </span><br>
        </p>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image003.png" width="700" height="482"></td>
          </tr>
          <tr>
            <td><p class=NB-Corpo11312> <strong>Figure 2.</strong> The Hello MIDlet Application .<br>
                <br>
              </p></td>
          </tr>
        </table>
        <p class=NB-Corpo31><span lang=EN-US>&nbsp;When
          a MIDP project is created, the IDE creates folders to hold the files after they
          are compiled and preverified. (Preverification is a Java ME-specific building
          step that augments <i>.class</i> files with extra information that makes
          bytecode verification and classloading much simpler and faster on the
          resource-restricted JVMs of ME devices.) The preverified files are packaged
          into the distribution JAR of your project. If you use project configurations
          for different device types (we&rsquo;ll get to that soon) or use obfuscation, the IDE
          creates folders to hold the different versions of the source files. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>&nbsp;Now
          let&rsquo;s create the Hello MIDlet project. Choose <i>File&gt;New Project</i> and in
          the first step of the wizard select the <i>Mobile </i>category and <i>Mobile
          Application</i> for the project type. Then click <i>Next</i>. Change the
          project name to &ldquo;TestMIDlet.&rdquo; Click <i>Next</i> again to see the default
          Emulator Platform, which is the J2ME Wireless Toolkit. The default device is
          the DefaultColorPhone. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>Click <i>Next</i> to see some other project
          configurations you can choose to set. The IDE checks all of the platform
          emulators you have installed and creates a configuration template for each
          device emulator available. Check the &ldquo;MediaControlSkin_template&rdquo; box. Click <i>Finish </i>and you&rsquo;ve just created your first working MIDlet, containing a simple form
          named </span><span class=TechText1><span lang=EN-US style='font-size:10.0pt'>helloForm</span></span><span
lang=EN-US>, that displays the familiar &ldquo;Hello, world!&rdquo; message. Now Choose <i>Run&gt;Run
          Main Project</i> to see the MIDlet in action. You&rsquo;ll see a device emulator like
          the one shown in <b>Figure&nbsp;3</b>.</span><br>
        </p>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image005.png" width="366" height="729"></td>
          </tr>
          <tr>
            <td><p class=NB-Corpo113112> <strong>Figure 3.</strong> Hello MIDlet in action.<br>
                <br>
              </p></td>
          </tr>
        </table>
        <p class=NB-Interttulo31><span lang=EN-US>Designing flow and UI 
          in the Visual Mobile Designer</span></p>
        <p class=NB-Corpo31><span lang=EN-US>The screenshot in <b>Figure&nbsp;2</b> also
          shows you the flow of our MIDlet in the Visual Mobile Designer (VMD). You can
          click the <i>Source</i> button and edit the code manually, but the VMD is a
          very powerful tool for designing both the page flow and individual screens.</span></p>
        <p class=NB-Corpo31><span lang=EN-US>&nbsp;Let&rsquo;s
          look at the flow first. If you start with the mobile device on the screen, it&rsquo;s
          pretty easy to follow the arrows and understand the flow of the MIDlet. When a
          command is entered (the Start Point), the </span><span class=TechText1><span
lang=EN-US style='font-size:10.0pt'>helloForm </span></span><span lang=EN-US>is
          opened. When the exit command is chosen from this form, you close your
          application (Exit Point) and return to the mobile device&rsquo;s application
          launcher. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>Now, you might want to add a splash screen
          to display your logo or development credits before the application starts
          running. Let&rsquo;s add a simple one to this application. (To provide a graphic,
          we&rsquo;ve added <i>mobileduke.png</i> to our <i>&lt;project_source&gt;/src</i> directory. The IDE automatically makes it available to us from the <i>Resources</i> folder in the Navigator window, on the lower left side of the IDE.) Drag a
          SplashScreen component from the Tools Palette on the right of the window on to
          the Flow Designer. Next, Drag the </span><span class=TechText1><span lang=EN-US
style='font-size:10.0pt'>image1[Image] </span></span><span lang=EN-US>from the
          Navigator window and drag it on top of the splash screen. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>Presto! Our splash screen has been created.
          You can look at it by double-clicking on the SplashScreen component, which
          takes you into the Screen Designer. The splash screen should look like <b>Figure&nbsp;4</b>. </span><br>
        </p>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image007.png" width="513" height="594"></td>
          </tr>
          <tr>
            <td><p class=NB-Corpo1131112> <strong>Figure 4.</strong> A splash screen in the Screen Designer.<br>
                <br>
              </p></td>
          </tr>
        </table>
        <p class=NB-Corpo31><span lang=EN-US>Now let&rsquo;s make the splash screen part of the
          application flow. Click the Flow Design button to go back to the Flow Designer.
          Grab the tip of the Start Point Arrow and drag it over to the </span><span
class=TechText1><span lang=EN-US style='font-size:10.0pt'>splashScreen1</span></span><span
lang=EN-US> component. Click on the orange square next to Dismiss and drag the
          arrow over the </span><span class=TechText1><span lang=EN-US style='font-size:
10.0pt'>helloForm </span></span><span lang=EN-US>component. The flow should now
          look something like <b>Figure&nbsp;5. </b></span><br>
          <br>
        </p>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image015.png" width="600" height="493"></td>
          </tr>
          <tr>
            <td><p class=NB-Corpo113111112> <strong>Figure 5.</strong> The Java Platform Manager.<br>
                <br>
              </p></td>
          </tr>
        </table>
        <p class=NB-Corpo31><span lang=EN-US>Let&rsquo;s just make one more quick change to the
          program to illustrate the Screen Designer. Double click on the form component.
          In the Screen Designer, click on the &ldquo;Hello, World!&rdquo; text and change it to something
          else, say &ldquo;Hello, Universe!&rdquo;&nbsp; </span></p>
        <p class=NB-Corpo31><span lang=EN-US>Now go ahead and run the MIDlet again. Click
          the button under &ldquo;Launch,&rdquo; and the emulator displays the splash screen as shown
          in <b>Figure&nbsp;6</b>. Then<b> </b>you see the new message. </span><br>
          <br>
        </p>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image011.png" width="366" height="729"></td>
          </tr>
          <tr>
            <td><p class=NB-Corpo1131111112> <strong>Figure 6.</strong> Splash screen in the device emulator.<br>
                <br>
              </p></td>
          </tr>
        </table>
        <p class=NB-Corpo31><span lang=EN-US>That was just a simple example of how you
          can quickly design the screens and flow of your application in the VMD. The
          SplashScreen component is one of three custom components, along with WaitScreen
          and TableItem, created by the NetBeans Mobility Pack team and added to the
          palette to make visual programming easier. You can also create your own custom
          components and add them to the palette.</span></p>
        <p class=NB-Corpo31><span lang=EN-US>Another important VMD feature is its support
          for Scalable Vector Graphics (SVG). SVG is an XML-based standard defined by the
          W3C and supported by MIDP 2.0 through JSR 226. The compact size and consistent
          appearance across different platforms and screen resolutions makes it an
          attractive graphics format for mobile developers. SVG also enables scripting
          and animation that allows users to interact with the visual content. To use
          SVG, you&rsquo;ll need the Sun Java Wireless Toolkit 2.5, which is currently
          available as a module from NetBeans Update Center, and is bundled with the
          Mobility Pack starting with version 5.5.1.</span></p>
        <p class=NB-Corpo31><span lang=EN-US>In the VMD, you can add an external SVG
          editing tool, such as Hyperion or Ikivo, and use it to create your initial SVG
          graphic. Like we did in the example we just looked at, you can create a splash
          screen, an interactive menu, or a wait screen by dragging and dropping components
          into the Flow Designer. You can drop the graphic or animation on the component,
          and inspect the behavior of the graphic or animation as the application is run. </span></p>
        <p class=NB-Corpo31><b><span lang=EN-US>Figure&nbsp;7 </span></b><span
lang=EN-US>shows the VMD inspecting an animated SVG menu. You can use the VMD
          flow designer interface to link each menu item to a separate screen that would
          be called when the menu item is selected. </span></p>
        <br>
        <br>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image013.png" width="344" height="455"></td>
          </tr>
          <tr>
            <td><p class=NB-Corpo1131111111> <strong>Figure 7.</strong> An interactive SVG-based menu.<br>
                <br>
              </p></td>
          </tr>
        </table>
        <br>
        <p class=NB-Interttulo31><span lang=EN-US>Reducing fragmentation with project
          configurations</span></p>
        <p class=NB-Corpo31><span lang=EN-US>One of the most difficult aspects of
          developing applications is <i>device fragmentation</i>. Mobile devices differ
          in a variety of attributes, such as screen size, color depth, and the
          proprietary or optional APIs they support. These differences often require
          special code or project settings for successful deployment. One solution is to
          create separate source code for each device you&rsquo;re programming to, which is
          almost guaranteed to be a logistics nightmare. We&rsquo;ve already touched on the
          Mobility Pack solution for device fragmentation &ndash; <i>project configurations</i>. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>&nbsp;Project configurations enable you to define
          the execution environment for each target device. With project configurations
          and code pre-processing, you can write an application and &ndash; using a single set
          of source code &ndash; customize, debug, and deploy a separate distribution JAR for
          each target device. If you need to customize your MIDlet for more devices, you
          add a new configuration for each device, modify the project properties, add
          some pre-processing code, then build and deploy the application. In most cases,
          you should create one configuration for each distribution JAR you plan to build
          for your project. For example, if you are planning to support three different
          screen sizes using two sets of vendor specific APIs, you should create six
          configurations.</span></p>
        <p class=NB-Corpo31><span lang=EN-US>&nbsp; Before we look at deploying our MIDlet to different devices, let&rsquo;s
          examine the three main concepts behind project configurations. </span></p>
        <p class=NB-Interttulo241><span lang=EN-US>The Emulator Platform</span></p>
        <p class=NB-Corpo31><span lang=EN-US>&nbsp;An
          emulator platform simulates the execution of an application on one or more
          target devices. It enables you to understand the user experience for an
          application on a particular device, and to test the portability of the
          application across different devices. As you have seen, the J2ME Wireless
          Toolkit 2.2, bundled with Mobility Pack 5.5 for CLDC/MIDP, provides several
          sample devices, like the DefaultColorPhone (and you can easily update to WTK
          2.5). </span></p>
        <p class=NB-Corpo31><span lang=EN-US>It is important, however, to remember that
          an emulator can only approximate a device&rsquo;s performance. Environmental
          variables like processing speed or the strength of the wireless signal can
          affect performance on a real device, and should be taken into account. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>A very important feature of the Mobility
          Pack is its ability to work with the emulators provided by major manufacturers,
          such as Nokia, Sony Ericsson, Siemens, and Motorola. Using the Java Platform Manager
          (see <b>Figure&nbsp;8</b>), you can easily add any emulator that supports the
          Unified Emulator Interface (UEI) standards. Simply choose <i>Tools&gt;Java
          Platform Manager</i>, select the J2ME Platform, and the wizard detects the
          emulator platforms installed on your system. Other emulators can also be added
          with a little more effort.</span></p>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image015.png" width="600" height="493"></td>
          </tr>
          <tr>
            <td><p class=NB-Corpo113111111122> <strong>Figure 8.</strong> The Java Platform Manager.</p>
            <p class=NB-Corpo113111111122>&nbsp;</p></td>
          </tr>
        </table>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="33" bgcolor="#BA3287"><span class="style5">The Sun Java Wireless Toolkit 2.5</span></td>
          </tr>
          <tr>
            <td height="33" bgcolor="#F1CDE3" ><p class=NB-TabelaCorpo4><span lang=EN-US style='color:black;letter-spacing:
-.1pt'>The Sun Java Wireless Toolkit 2.5 includes all of the advanced development features found in earlier versions, such as MIDlet signing, certificate management, integrated OTA emulation, push registry emulation, and more. New features include support for the Mobile Service Architecture (JSR-248) platform. Although this JSR does not define any new APIs, it does standardize many existing ones into a common API stack, to increase interoperability and make mobile development easier. There are also many new APIs supported, such as Security and Trust Services (JSR 177), Location (JSR 179), SIP (JSR 180), Content Handler (JSR 211), Scalable 2D Vector Graphics (JSR 226), Payment (JSR 229), and several others.</span><br>
                <br>
              </p></td>
          </tr>
        </table>
        <p class=NB-Interttulo241><span lang=EN-US>Project properties</span></p>
        <p class=NB-Corpo31><span lang=EN-US>We can use the project properties to define
          many aspects of the program. As you can see in <b>Figure</b>&nbsp;<b>9</b>, the
          property categories are on the left, and the properties for that category are
          on the right. A short list of things you can do in properties includes:
          defining the emulator platform, setting/checking Configuration and Profile
          versions and optional APIs the device supports; adding or removing the contents
          of the JAR and JAD files; setting the Push Registry; setting obfuscation and
          optimization levels; adding signing and security certificates; and setting
          deployment options. The Abilities shown in <b>Figure&nbsp;9</b> list attributes
          that might be shared by different devices, and therefore might be shared when
          you are adding pre-processing code.</span><br>
        </p>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image017.png" width="768" height="613"></td>
          </tr>
          <tr>
            <td><p class=NB-Corpo1131111111212> <strong>Figure 9.</strong> Abilities page.<br>
                <br>
              </p></td>
          </tr>
        </table>
        <p class=NB-Corpo31><span lang=EN-US>Let&rsquo;s take a look at this using the two
          configurations we&rsquo;ve created for our </span><span class=TechText1><span
lang=EN-US style='font-size:10.0pt'>TestMIDlet</span></span><span lang=EN-US>.
          The first is the DefaultConfiguration we&rsquo;ve been using so far. The second is
          the MediaControlSkin that you selected when first creating the project. Before
          we discuss project properties and pre-processing code, let&rsquo;s take a quick look
          at the MediaControlSkin device emulator. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>To switch configurations, choose the
          MediaControlSkin from the Configuration drop-down menu in the IDE toolbar. Then
          choose <i>Run&gt;Run Main Project</i>. It&rsquo;s the same </span><span
class=TechText1><span lang=EN-US style='font-size:10.0pt'>TestMIDlet </span></span><span
lang=EN-US>as before, but this time the device emulator and its display are
          thinner &ndash; so we lose a little bit of the splash screen, as shown in <b>Figure&nbsp;10</b>. </span></p>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image019.png" width="247" height="690"></td>
          </tr>
          <tr>
            <td><p class=NB-Corpo11311111112112> <strong>Figure 10.</strong> The MediaControlSkin Emulator.<br>
                <br>
              </p></td>
          </tr>
        </table>
        <br>
        <p class=NB-Interttulo241><span lang=EN-US>Preprocessing code</span></p>
        <p class=NB-Corpo31><span lang=EN-US>&nbsp;Preprocessing modifies the code in your source
          files before the code is parsed by the compiler. The preprocessor modifies the
          code according to preprocessor directives you insert into the code as code
          blocks with beginning and ending directives. These code blocks are marked
          visually in the Source Editor and are included (or excluded) when you build the
          JAR for a specific project configuration or ability. You can use these code
          blocks to create, manage, and track code that is specific to one or more
          project configurations or abilities. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>&nbsp;Now
          that we&rsquo;ve defined the key concepts of project configurations, let&rsquo;s go back to
          our example and say now that we want to use a different graphic for the
          MediaControlSkin device. We already have our two project configurations defined,
          so what we need to do is add some pre-processing code so that the compiler
          knows it should use one image for DefaultConfiguration and another for
          MediaControlSkin. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>Click the <i>Source</i> button to view the </span><span
class=TechText1><span lang=EN-US style='font-size:10.0pt'>TestMIDlet</span></span><span
lang=EN-US> source code. Then scroll down to the </span><span class=TechText1><span
lang=EN-US style='font-size:10.0pt'>get_image1()</span></span><span lang=EN-US> method. Notice that some sections have a blue background &ndash; these are &ldquo;guarded
          blocks&rdquo; that are generated by the VMD, and cannot be edited. Highlight the code
          beginning with &ldquo;//Insert pre-init code here and ending with &ldquo;//Insert post-init
          code here.&rdquo; Right click on the selection and choose <i>Preprocessor
          Blocks&gt;Create If/Else Block</i>. A menu with all the available
          configurations and abilities appears. Double click on DefaultConfiguration.
          Your code should look like <b>Figure&nbsp;11</b>. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>Notice that the </span><span class=TechText1><span
lang=EN-US style='font-size:10.0pt'>//#else</span></span><span lang=EN-US> directive has a pink background. This code <i>can</i> be edited. Change the
          graphic name &ldquo;/mobileduke.png&rdquo; to the name of another graphic (such as
          &ldquo;/veryproudduke.png&rdquo;). Now, when you run our MIDlet using the
          DefaultConfiguration, the emulator will display the &ldquo;mobile duke&rdquo; image. When
          you run the MIDlet using the MediaControlSkin configuration, or any other
          configuration you add later, the emulator will display the second graphic. This
          is a very simple example of what&rsquo;s possible with preprocessor blocks, but it hopefully
          gives you a taste <br>
          of what they can do. </span></p>
        <br>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image021.png" width="527" height="535"></td>
          </tr>
          <tr>
            <td><p class=NB-Corpo11311111112111> <strong>Figure 11.</strong> Preprocessor code.<br>
                <br>
              </p></td>
          </tr>
        </table>
        <p class=NB-Interttulo31><span lang=EN-US>Deploying to 
          multiple devices</span></p>
        <p class=NB-Corpo31><span lang=EN-US>&nbsp;Now
          that you have an application that works with two devices, it&rsquo;s time to deploy
          it. The deployment property page shown in <b>Figure&nbsp;12</b> shows the
          different deployment methods available. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>Because deployment is set in the project
          Properties, you can define a different deployment for each configuration. When
          you have chosen your deployment method, choose <i>Build&gt;Build All Main
          Project Configurations</i>. Then you&rsquo;ll have a JAR for each target device
          you&rsquo;re programming for. </span><br></p>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="/images_www/magazine/mobpack/images/image023.png" width="717" height="517"></td>
          </tr>
          <tr>
            <td height="21"><p class=NB-Corpo1131111111211111> <strong>Figure 12.</strong> Deployment properties.<br>
                <br>
              </p></td>
          </tr>
        </table>
        <p class=NB-Interttulo31><span lang=EN-US>Other features </span></p>
        <p class=NB-Corpo31><span lang=EN-US>Our example was purposefully kept simple to
          focus on the design, configuration, and deployment features of the Mobility
          Pack for CLDC. But there are two other important features we&rsquo;d like to mention
          quickly before we move on to the CDC Pack. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>The End-to-End Bridge technology is a set of
          two wizards that enable you to quickly modify your MIDlet to consume Web <br>
          Services. The J2ME Web Service Client creates a client-side proxy that connects
          directly to Web Services that support the JSR-172 (J2ME Web Services)
          specification. The Mobile Client to Web Application Generator generates a
          servlet that connects to a web application that includes a Web Service client. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>Another important feature is JMUnit testing
          support. The Mobilty Pack for CLDC provides built-in JMUnit support for
          generating and executing unit tests for MIDP/CLDC applications. You can
          generate and navigate to tests by selecting any class or package node in the
          Projects window and choosing from the <i>Tools&gt;JUnit</i> menu.</span><br>
        </p>
        <p class=NB-Interttulo31><span lang=EN-US>NetBeans 
          Mobility Pack for CDC</span></p>
        <p class=NB-Corpo31><span lang=EN-US>The Mobility Pack for CDC (Connected Device
          Configuration) makes it possible to create, test, and deploy applications for
          several CDC platforms including the Sun Java CDC Toolkit, Sony Ericsson CDC
          Platform 1, Nokia S80, SavaJe and Ricoh MFP, as well as Windows CE using
          NSIcom&rsquo;s CrEme CDC virtual machine. Although it is not yet as complete as the
          MIDP/CLDC Pack, many new features will be added when Mobility Pack 6.0 is
          released.</span></p>
        <p class=NB-Corpo31><span lang=EN-US>You create CDC projects in the same manner
          as MIDP/CLDC projects, using the New Project Wizard. Before you begin, you will
          want to install the Sun Java Toolkit for CDC or an emulator platform from one
          of the growing list of manufacturers the Mobility Pack supports. You can find
          this list in the NetBeans Mobility Pack for CDC Quick Start Guide. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>To get started on a project, Choose <i>File&gt;New
          Project</i>. Choose the category <i>CDC</i>, project type <i>CDC Application</i>.
          The wizard will guide you through the rest of the steps for creating your Main
          Project. </span></p>
        <p class=NB-Corpo31><span lang=EN-US>Once you&rsquo;ve created a project, you can use
          the Matisse GUI Builder with either the AGUI toolkit or the Personal Profile
          1.0, in the same way you would use it for regular Java SE development. For
          Personal Profile GUI development, right click the Main.java form in the GUI
          Builder, and choose <i>Set Layout&gt;Free Layout</i>. Then drag and drop
          components from the Palette window into the Design Area of the GUI Builder. You
          can also take advantage of JUnit testing and other key features of the NetBeans
          IDE when developing CDC applications in the Mobility Pack for CDC. </span></p>
        <p class=NB-Interttulo31><span lang=EN-US>What&rsquo;s coming in NetBeans 
          Mobility Pack 6.0</span></p>
        <p class=NB-Corpo31><span lang=EN-US>The NetBeans Mobility Pack has many dramatic
          changes coming up. One of the most significant changes, as we&rsquo;ve mentioned
          before, is that the CLDC/MIDP and CDC Packs will be merged into a single UI,
          making it easier to create end-to-end applications. Other exciting new features
          include: </span></p>
        <p class=NB-Corpo31><span lang=EN-US style='font-family:
Wingdings;'>&sect; </span><span lang=EN-US>New custom
          components to simplify programming, including a File Browser, an SMS Composer,
          a Login Screen and a Personal Information Manager (PIM) Browser</span></p>
        <p class=NB-Corpo31><span lang=EN-US style='font-family:
Wingdings;'>&sect; </span><span lang=EN-US>VMD support
          for the MIDP 2.x Game API that allows creating tiled and animated layers for
          environment design, and support for animated character and sprites.</span></p>
        <p class=NB-Corpo31><span lang=EN-US style='font-family:
Wingdings;'>&sect; </span><span lang=EN-US>Improved
          VMD UI, including support for non-visual components and a design analyzer. </span></p>
        <p class=NB-Corpo31><span lang=EN-US style='font-family:
Wingdings;'>&sect; </span><span lang=EN-US>CDC support
          for project configurations and pre-processing blocks.</span></p>
        <p class=NB-Interttulo31><span lang=EN-US>Conclusions</span></p>
        <p class=NB-Corpo31><span lang=EN-US>This article was intended to give you a
          hands-on sense of the capabilities of the Mobility Pack for CLDC/MIDP and CDC,
          and a running start on building your first mobile application. You can learn
          more about the Mobility Pack by reading the tutorials and articles on the
          NetBeans website, joining the NetBeans community of developers, and most
          importantly, by going out there and creating great mobile applications! </span><span
lang=EN-GB style='color:#9A1560;letter-spacing:.15pt;'> </span></p>
        <table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#9A1560">
          <tr>
            <td height="33" bgcolor="#9A1560"><blockquote>
                <p class="NB-Listagenstitulos"><strong>Links</strong></p>
              </blockquote></td>
          </tr>
          <tr>
            <td height="201"><br>
              <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td width="40">&nbsp;</td>
                  <td><a href="https://netbeans.org/kb/trails/mobility.html"><span class="style3"><font color="#9A1560" face="Verdana">netbeans.org/kb/trails/mobility.html </font></span></a></td>
                </tr>
                <tr>
                  <td height="19">&nbsp;</td>
                  <td><font size=1 color=black face="Verdana"><span style="font-size:9.0pt;letter-spacing:0pt">The Mobile Applications Learning Trail guides you <br>
                    through a structured approach to learning about the Mobility Pack. </span></font></td>
                </tr>
              </table>
              <br>
              <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td width="40">&nbsp;</td>
                  <td><a href="https://netbeans.org/kb/trails/mobility.html"><span class="style3"><font color="#9A1560" face="Verdana">netbeans.org/kb/trails/mobility.html </font></span></a></td>
                </tr>
                <tr>
                  <td height="19">&nbsp;</td>
                  <td><span class="style1"><font color=black face="Verdana">Mobility Pack for CLDC/MIDP documentation index </font></span></td>
                </tr>
              </table>
              <br>
              <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td width="40" height="19">&nbsp;</td>
                  <td><a href="https://netbeans.org/kb/docs/javame/cdc-quickstart.html"><span class="style3"><font color="#9A1560" face="Verdana">netbeans.org/kb/docs/javame/cdc-quickstart.html</font></span></a></td>
                </tr>
                <tr>
                  <td height="19">&nbsp;</td>
                  <td><span class="style1"><font color=black face="Verdana">Mobility Pack for CDC Quick Start Guide</font></span></td>
                </tr>
              </table>
          </tr>
        </table>
        <br>
        <br>
        <table width="770" border="1" cellpadding="0" cellspacing="0" bordercolor="#BC001C">
          <tr>
            <td><table width="100%" border="0" cellpadding="0" cellspacing="1" bordercolor="#9A1560">
                <tr>
                  <td width="93"><div align="center"><img src="/images_www/magazine/autores/Anatole_Wilson.jpg" alt="Autor" width="80" height="94"></div></td>
                  <td width="677" valign="middle"><p class=NB-Corpo11112><span class="NB-Corpo11121"><strong>Anatole Wilson</strong><br>
                      (anatole.wilson@sun.com) lives in Pittsburgh, Pennsylvania and has been the Senior Technical Writer for the Mobility Pack since its inception. He has worked for various high-tech companies, including IBM and Oracle, and, as a freelance writer, has written articles for publication in various magazines.<br>
                      <br>
                      </span></p></td>
                </tr>
              </table></td>
          </tr>
        </table></td>
    </tr>
  </table>
</div>
</body>
</html>
