<?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"
	>

<channel>
	<title>专注于blackberry &#187; network</title>
	<atom:link href="http://www.inblackberry.com/web/tag/network/feed" rel="self" type="application/rss+xml" />
	<link>http://www.inblackberry.com/web</link>
	<description>blackberry</description>
	<pubDate>Thu, 26 Aug 2010 14:19:35 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>BlackBerry 应用程序开发者指南 第一卷：基础&#8211;第7章 使用数据报（Datagram）连接</title>
		<link>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-charpter-7-datagram.html</link>
		<comments>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-charpter-7-datagram.html#comments</comments>
		<pubDate>Tue, 22 Apr 2008 22:34:11 +0000</pubDate>
		<dc:creator>Taigoo</dc:creator>
		
		<category><![CDATA[文档]]></category>

		<category><![CDATA[api]]></category>

		<category><![CDATA[doc]]></category>

		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-charpter-7-datagram.html</guid>
		<description><![CDATA[<p class="MsoNormal" style="text-indent: 54.2pt; text-align: right" align="right">7</p>
<a name="_Toc125107027">&#160;&#160;&#160;&#160;&#160;&#160;&#160; 第7</a>章 使用数据报（Datagram）连接




<p]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="text-indent: 54.2pt; text-align: right" align="right"><strong><span lang="EN-US" style="font-size: 36pt">7<o:p></o:p></span></strong></p>
<h1><a name="_Toc125107027"><span style="color: #333399; font-family: 宋体">&#160;&#160;&#160;&#160;&#160;&#160;&#160; 第</span><span lang="EN-US" style="color: #333399">7</span></a><span><span style="color: #333399; font-family: 宋体">章</span><span style="color: #333399"> </span></span><span><span style="color: #333399; font-family: 宋体">使用数据报（</span><span lang="EN-US" style="color: #333399">Datagram</span></span><span><span style="color: #333399; font-family: 宋体">）连接</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h1>
<table class="MsoNormalTable" style="background: #d9d9d9 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">数据报连接</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">使用</span><span lang="EN-US" style="color: #333399">UDP</span></strong><strong><span style="color: #333399; font-family: 宋体">连接</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">使用</span><span lang="EN-US" style="color: #333399">Mobitex</span></strong><strong><span style="color: #333399; font-family: 宋体">网络</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">发送和接收短消息（</span><span lang="EN-US" style="color: #333399">SMS</span></strong><strong><span style="color: #333399; font-family: 宋体">）</span></strong></p>
</td>
</tr>
</tbody>
</table>
<h2><a name="_Toc125107028"><span style="color: #333399; font-family: 黑体">数据报连接</span></a><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h2>
<p class="MsoNormal"><span style="font-family: 宋体">通过利用</span><span lang="EN-US">UDP</span><span style="font-family: 宋体">（</span><span lang="EN-US">User Datagram Protocal</span><span style="font-family: 宋体">，用户数据报协议），</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备支持数据报连接。应用程序使用</span><span lang="EN-US">UDP</span><span style="font-family: 宋体">和标准的网络服务通信。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">数据报是应用程序发送到网络的独立数据包。对于</span><span lang="EN-US">Datagram</span><span style="font-family: 宋体">的负载字节数组来说，一个</span><span lang="EN-US">Datagram</span><span style="font-family: 宋体">对象是一个包装器。为获得这个字节数组的一个引用，调用</span><span lang="EN-US">getData()</span><span style="font-family: 宋体">方法。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">和</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体">连接不一样，数据报连接不稳定：数据包以任意的顺序到达，并且传输得不到保证。应用程序的责任是确保请求数据报的数据负载根据网络服务的标准来格式化，这个标准是在数据报传播上的。应用程序也必须能解析从服务器返回发送的数据报。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">使用数据报连接来发送短消息。为获得更多信息，参看</span><span lang="EN-US">121</span><span style="font-family: 宋体">页的&#8220;发送和接受</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">&#8221;。</span></p>
<h2><a name="_Toc125107029"><span style="color: #333399; font-family: 黑体">使用</span><span lang="EN-US" style="color: #333399">UDP</span></a><span><span style="color: #333399; font-family: 黑体">连接</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h2>
<p class="MsoNormal"><span style="font-family: 宋体">为使用</span><span lang="EN-US">UDP</span><span style="font-family: 宋体">连接，你必须有一个你自己的基础设施来连接无线网络，包括一个</span><span lang="EN-US">GPRS</span><span style="font-family: 宋体">（</span><span lang="EN-US">General Packet Radio Service</span><span style="font-family: 宋体">，通用分组无线业务）网络的</span><span lang="EN-US">APN</span><span style="font-family: 宋体">（</span><span lang="EN-US">Access Point Name</span><span style="font-family: 宋体">）。</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：数据报连接没有使用<span lang="EN-US">BlackBerry</span>的基础设施，因此连接没有加密。模拟器的<span lang="EN-US">APN</span>是<span lang="EN-US">net.rim.gprs.</span></span></p>
<p class="MsoNormal"><span lang="EN-US">javax.microedition.io.DatagramConnection</span><span style="font-family: 宋体">接口，扩展了</span><span lang="EN-US">Connection</span><span style="font-family: 宋体">类，它定义了发送和接受数据报的连接。</span><span lang="EN-US">Datagram</span><span style="font-family: 宋体">接口定义了在数据报连接上发送和接受的数据包。</span></p>
<p class="MsoNormal" style="text-indent: 15.75pt"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：使用<span lang="EN-US">UDP</span>连接需要你和服务商紧密联系。联系你的服务商确认<span lang="EN-US">UDP</span>连接是否支持。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="text-indent: 15.75pt"><span lang="EN-US" style="font-family: 宋体"><span>&#160;&#160;&#160; </span></span><span style="font-family: 宋体">如果你的服务商不支持多个<span lang="EN-US">PDP</span>上下文，那么你可能没有建立一个<span lang="EN-US">UDP</span>连接。一个<span lang="EN-US">PDP</span>上下文为发送消息的<span lang="EN-US">BlackBerry.net.APN</span>保留。尽管如此，你可以为<span lang="EN-US">UDP</span>使用<span lang="EN-US">blackberry.net </span>当作<span lang="EN-US">APN</span>。联系你的服务商以获得更多信息。</span></p>
<h3><a name="_Toc125107030"><span style="color: #333399; font-family: 宋体">获得一个数据报连接</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">使用下面的格式调用</span><span lang="EN-US">Connector.open().</span><span style="font-family: 宋体">指定</span><span lang="EN-US">udp</span><span style="font-family: 宋体">为你的协议。将返回的对象转化为一个</span><span lang="EN-US">DatagramConnection</span><span style="font-family: 宋体">。</span></p>
<p class="MsoNormal" style="text-indent: 15pt"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">(DatagramConnection)Connector.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 15pt"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">open(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;udp://host:dest_port[;src_port]/apn&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-family: &#39;andale mono&#39;"><o:p></o:p></span></p>
<table class="MsoNormalTable" style="border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #cccccc 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal" style="text-align: center" align="center"><span style="font-family: 宋体">参数</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #cccccc 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal" style="text-align: center" align="center"><span style="font-family: 宋体">描述</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US" style="font-family: &#39;andale mono&#39;">host</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">指定点阵</span><span lang="EN-US">ASCII</span><span style="font-family: 宋体">十进制格式的主机地址</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US" style="font-family: &#39;andale mono&#39;">dest_port</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">指定了主机地址的目标端口（接受信息时是可选的）。</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US" style="font-family: &#39;andale mono&#39;">src_port</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">指定本地源端口（可选）。</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US" style="font-family: &#39;andale mono&#39;">apn</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">指定字符串形式的网络</span><span lang="EN-US">APN</span><span style="font-family: 宋体">。</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：可以在相同的端口上收发<span lang="EN-US">UDP</span>数据报。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体">为了在<span lang="EN-US">UDP</span>连接上发送数据，在连接字符串里指定目标端口。为了在<span lang="EN-US">UDP</span>连接上接收数据，在连接字符串里指定源端口。为了接收指定主机的所有端口上的数据报，省略目标端口。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：为了在一个非<span lang="EN-US">GPRS</span>的网络里打开一个连接，不要指定<span lang="EN-US">APN</span>。在源端口后包含斜线<span lang="EN-US">&#8221;/&#8221;.</span>例如<span lang="EN-US">CDMA</span>网络连接的地址应该是<span lang="EN-US">udp://121.0.0.0:6343/.<o:p></o:p></span></span></p>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">创建一个数据报</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">调用</span><span lang="EN-US">DatagramConnection.newDatagram().</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">Datagram outDatagram = conn.newDatagram(buf, buf.length);</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">将数据加入到数据报中</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">调用</span><span lang="EN-US">Datagram.setData().</span><span style="font-family: 宋体">数据的格式由接收它的服务决定。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[] buf = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[256];</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">outDatagram.setData(buf, buf.length);</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">在</span><span lang="EN-US" style="color: #333399">UDP</span></strong><strong><span style="color: #333399; font-family: 宋体">连接上发送数据</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">在数据报连接山调用</span><span lang="EN-US">send()</span><span style="font-family: 宋体">。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">conn.send(outDatagram);</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：如果应用程序试图在一个<span lang="EN-US">UDP</span>连接上发送一个数据报<span lang="EN-US">,</span>并且接收者没有监听指定的源端口<span lang="EN-US">,</span>一个<span lang="EN-US">IOException</span>会抛出<span lang="EN-US">.<o:p></o:p></span></span></p>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">接收</span><span lang="EN-US" style="color: #333399">UDP</span></strong><strong><span style="color: #333399; font-family: 宋体">连接上的数据</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">调用数据报连接上的</span><span lang="EN-US">receive().</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[] buf = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[256];</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">Datagram inDatagram = conn.newDatagram(buf, buf.length);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">conn.receive(inDatagram);</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：<span lang="EN-US">receive()</span>方法会阻塞其他操作<span lang="EN-US">,</span>直至它接收完一个数据包<span lang="EN-US">.</span>如果你知道正在发送的数据格式<span lang="EN-US">,</span>转化他们为合适的格式<span lang="EN-US">.<o:p></o:p></span></span></p>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">从数据报提取数据</span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">在数据报连接上调用</span><span lang="EN-US">getData()</span><span style="font-family: 宋体">方法。如果你知道正在接收的数据类型，将数据转化为合适的格式。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">String received = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String(inDatagram.getData());</span><strong><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">关闭</span><span lang="EN-US" style="color: #333399">UDP</span></strong><strong><span style="color: #333399; font-family: 宋体">连接</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">和</span><span lang="EN-US">MIDP</span><span style="font-family: 宋体">框架中所有连接一样，调用输入和输出流以及数据报上的</span><span lang="EN-US">close</span><span style="font-family: 宋体">（）方法，</span></p>
<h2><a name="_Toc125107031"><span style="color: #333399; font-family: 黑体">使用</span><span lang="EN-US" style="color: #333399">Mobitex</span></a><span><span style="color: #333399; font-family: 黑体">网络</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h2>
<p class="MsoNormal"><span lang="EN-US">DatagramConnectionBase</span><span style="font-family: 宋体">类提供了方法来处理</span><span lang="EN-US">Mobitex</span><span style="font-family: 宋体">网络上的</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">数据报连接以及传输操作。</span></p>
<h3><a name="_Toc125107032"><span style="color: #333399; font-family: 宋体">打开一个</span></a><span><span lang="EN-US" style="color: #333399">Mobitex</span></span><span><span style="color: #333399; font-family: 宋体">数据报连接</span></span><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">调用</span><span lang="EN-US">Connector.open(),</span><span style="font-family: 宋体">然后将返回的对象转化为一个</span><span lang="EN-US">DatagramConnectionBase</span><span style="font-family: 宋体">。</span><span lang="EN-US">DatagramConnectionBase</span><span style="font-family: 宋体">类实现了</span><span lang="EN-US">DatagramConnection</span><span style="font-family: 宋体">，并且提供了额外的方法，对注册一个数据报状态监听者来说，这些方法是必要的。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">为提供一个参数给</span><span lang="EN-US">Connector.open(),</span><span style="font-family: 宋体">连接字符串使用下面的格式：</span></p>
<p class="MsoNormal" style="text-indent: 5.25pt"><span lang="EN-US">mobitex:&lt;type&gt;:&lt;MAN&gt;</span></p>
<table class="MsoNormalTable" style="border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">参数</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">描述</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US">&lt;type&gt;</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">接受下列值：&#8220;</span><span lang="EN-US">TEXT&#8221;,&#8221;DATA&#8221;,&#8221;STATUS&#8221;,</span><span style="font-family: 宋体">或&#8221;</span><span lang="EN-US">HPDATAHPID</span><span style="font-family: 宋体">（在这些值中，</span><span lang="EN-US">JPID</span><span style="font-family: 宋体">的格式是</span><span lang="EN-US">ASCII</span><span style="font-family: 宋体">十进制）</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US">&lt;MAN&gt;</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US">Mobitex</span><span style="font-family: 宋体">访问号码（</span><span lang="EN-US">Mobitex Access Number</span><span style="font-family: 宋体">），接受</span><span lang="EN-US">ASCII</span><span style="font-family: 宋体">十进制格式。</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：如果你打开一个服务器连接（一个监听者），<span lang="EN-US">MAN</span>留为空白。<span lang="EN-US"><o:p></o:p></span></span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// The datagram connection &lt;type&gt; is DATA and the MAN is left blank for an incoming</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// connection.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">DatagramConnection dc = (DatagramConnection)Connector.open(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;mobitex:DATA:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">DatagramConnectionBase dcb = (DatagramConnectionBase)dc;</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107033"><span style="color: #333399; font-family: 宋体">监听数据报状态事件</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">如果你想注册一个数据报状态事件监听者，使用一个</span><span lang="EN-US">DatagramBase</span><span style="font-family: 宋体">，而不是</span><span lang="EN-US">Datagram</span><span style="font-family: 宋体">来抓住（</span><span lang="EN-US">hold</span><span style="font-family: 宋体">）数据。</span><span lang="EN-US">DatagramBase</span><span style="font-family: 宋体">实现了</span><span lang="EN-US">Datagram</span><span style="font-family: 宋体">接口，并且提供额外的方法，这些方法对注册数据报状态事件监听者是有用的。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// dc is a DatagramConnection.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">Datagram d = dc.newDatagram(dc.getMaximumLength());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">d.setAddress(address);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">d.setData(raw, 0, raw.length);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">DatagramBase db = (DatagramBase)d; </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// An error if this fails.</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">注册一个数据报状态监听者</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">你的</span><span lang="EN-US">DatagramStatusListener</span><span style="font-family: 宋体">接口的实现监听事件，例如一个数据报的接收。参看</span><em><span lang="EN-US">API</span></em><em><span style="font-family: 宋体">参考</span></em><span style="font-family: 宋体">的</span><span lang="EN-US">DatagramStatusListener</span><span style="font-family: 宋体">以获得完整的数据报状态事件列表。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">为了分配一个数据报</span><span lang="EN-US">ID</span><span style="font-family: 宋体">，并将之显式指派给</span><span lang="EN-US">DatagramStatusListener</span><span style="font-family: 宋体">，调用</span><span lang="EN-US" style="font-family: &#39;andale mono&#39;">DatagramConnectionBase.allocateDatagramId().</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-indent: 5.25pt"><span lang="EN-US" style="font-family: &#39;andale mono&#39;">int id = dcb.allocateDatagramId(d);<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-family: 宋体">以此种方式预先分配数据报</span><span lang="EN-US">ID</span><span style="font-family: 宋体">，可以确保你的监听者代码知道与此</span><span lang="EN-US">ID</span><span style="font-family: 宋体">相关联的数据报。</span></p>
<h3><a name="_Toc125107034"><span style="color: #333399; font-family: 宋体">获得数据报信息</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span lang="EN-US">MobitexAddress</span><span style="font-family: 宋体">类封装了</span><span lang="EN-US">Mobitex</span><span style="font-family: 宋体">地址信息，例如</span><span lang="EN-US">MAN</span><span style="font-family: 宋体">，消息的类型以及消息的状态。</span></p>
<p class="MsoNormal"><span lang="EN-US">MobitexPacketHeader</span><span style="font-family: 宋体">类提供对无线头字段（</span><span lang="EN-US">radio header field</span><span style="font-family: 宋体">）的底层访问。为了对所有地址操作使用</span><span lang="EN-US">MobitexPacketHeader</span><span style="font-family: 宋体">并忽略其他的</span><span lang="EN-US">MobitexAddress</span><span style="font-family: 宋体">字段，调用</span><span lang="EN-US">MobitexAddress.setPacketHeader().</span></p>
<h3><a name="_Toc125107035"><span style="color: #333399; font-family: 宋体">获取无线和网络信息</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span lang="EN-US">MobitexInfo</span><span style="font-family: 宋体">类提供对象存储普通的无线（</span><span lang="EN-US">radio</span><span style="font-family: 宋体">）状态信息。</span><span lang="EN-US">Mobitex.MobitexCellInfo</span><span style="font-family: 宋体">类提供对象存储</span><span lang="EN-US">Mobitex</span><span style="font-family: 宋体">蜂窝信息。</span></p>
<h3><a name="_Toc125107036"><span style="color: #333399; font-family: 宋体">代码实例</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span lang="EN-US">MobitexDemo.java</span><span style="font-family: 宋体">代码实例描述了</span><span lang="EN-US">Mobitex</span><span style="font-family: 宋体">无线称</span><span lang="EN-US">API</span><span style="font-family: 宋体">的使用。</span></p>
<hr style="width: 100%; height: 2px" />
<p class="MsoNormal" style="text-indent: 15.75pt"><span style="font-family: 宋体">例：</span><span lang="EN-US">MobitexDemo.java</span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">/*</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">* MobitexDemo.java</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">* Copyright (C) 2003-2005 Research In Motion Limited</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">package</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> com.rim.docs.samples.mobitexdemo;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> javax.microedition.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.ui.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.ui.component.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.ui.container.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.i18n.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> java.util.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.system.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> java.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> com.rim.docs.samples.baseapp.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">A</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">simple</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">mobitex</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">layer</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">sample.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MobitexDemo </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> BaseApp </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">implements</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MobitexDemoResource {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MainScreen _mainScreen;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> EditField _pin;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> EditField _data;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> RichTextField _messages;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> SenderThread </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_sendThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ReceiverThread </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_receiverThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// statics &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ResourceBundle </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_resources</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>ResourceBundle.<em>getBundle</em>(MobitexDemoResource.BUNDLE_ID, </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>MobitexDemoResource.BUNDLE_NAME);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> main(String[] args)</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MobitexDemo().enterEventDispatcher();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// menu items &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Cache the send menu item for reuse.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MenuItem _sendMenuItem = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MenuItem(</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_resources</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">, MOBITEXDEMO_MENUITEM_SEND, </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>100, 10) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> run()</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Don&#8217;t execute on a blank address.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>String pin = _pin.getText();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>String data = _data.getText();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ( pin.length() &gt; 0 ) </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>send(pin, data);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>};</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Cache the clear messages menu item for reuse.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MenuItem _clearMessages = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MenuItem(</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_resources</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">, </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>MOBITEXDEMO_MENUITEM_CLEARMESSAGES, 105, 10) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_messages.setText(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>};</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MobitexDemo()</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MainScreen();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.setTitle( </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> LabelField(</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_resources</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.getString(MOBITEXDEMO_TITLE),</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH));</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_pin = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> EditField(</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_resources</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.getString(MOBITEXDEMO_LABEL_PIN), </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">,</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>Integer.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">MAX_VALUE</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">, EditField.FILTER_PIN_ADDRESS);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.add(_pin);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_data = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> EditField(</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_resources</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.getString(MOBITEXDEMO_LABEL_DATA), </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.add(_data);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.add(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> SeparatorField());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_messages = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> RichTextField(</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_resources</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.getString(MOBITEXDEMO_CONTENT_DEFAULT));</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.add(_messages);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.addKeyListener(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">); </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//implemented by the super</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.addTrackwheelListener(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">); </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//implemented by the super</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//start the helper threads</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_sendThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> SenderThread();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_sendThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.start();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_receiverThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ReceiverThread();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_receiverThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.start();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//push the main screen - a method from the UiApplication class</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>pushScreen(_mainScreen);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// methods &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">/*public boolean keyChar(char key, int status, int time)</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span><span>&#160;</span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">if ( UiApplication.getUiApplication().getActiveScreen().getLeafFieldWithFocus() ==</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">pin &amp;&amp; key == Characters.ENTER )</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">_sendMenuItem.run();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">return true; // I&#8217;ve absorbed this event, so return true.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">else</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">return super.keyChar(key, status, time);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">}*/</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">protected</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> makeMenu(Menu menu, </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> instance)</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>menu.add(_sendMenuItem);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>menu.add(_clearMessages);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>menu.addSeparator();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">super</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.makeMenu(menu, instance);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> send(String pin, String data)</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_sendThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.send(pin, data);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> message(String msg)</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">out</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.println(msg);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_messages.setText(_messages.getText() + msg + </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;\n&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// inner classes &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ReceiverThread </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> Thread</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> DatagramConnection _dc;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Shut down the thread.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> stop()</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_dc.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">(IOException e) { </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>MobitexDemo.</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.message(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> run()</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Incoming data connection - leave the MAN blank.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_dc = (DatagramConnection)Connector.open(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;mobitex:DATA:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">for</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">(;;) </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>Datagram d = _dc.newDatagram(_dc.getMaximumLength());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_dc.receive(d);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>DatagramBase db = (DatagramBase)d;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>MobitexAddress ma = (MobitexAddress)db.getAddressBase();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>MobitexPacketHeader mph = ma.getPacketHeader();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>StringBuffer sb = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> StringBuffer();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;Recieved packet&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;\nFROM:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>sb.append(mph.getSourceAddress());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;\nTO:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>sb.append(mph.getDestinationAddress());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;\nFLAGS:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>sb.append(Integer.<em>toHexString</em>(mph.getPacketFlags()));</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>sb.append(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;\nDATA:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>sb.append(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String(db.getData()));</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>MobitexDemo.</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.message(sb.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (IOException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>MobitexDemo.</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.message(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span><span>&#160;</span></span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">The</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">ConnectionThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">class</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">manages</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">datagram</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">connection</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span><span>&#160;</span></span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> SenderThread </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> Thread </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">implements</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> DatagramStatusListener {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">TIMEOUT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = 500; </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//ms</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> Vector </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_sendQueue</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> Vector(5);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">volatile</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">boolean</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_start</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">false</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">volatile</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">boolean</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">false</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Queue something for sending</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> send(String pin, String data) </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">synchronized</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">(</span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_sendQueue</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_sendQueue</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.addElement(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String[] { pin, data });</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_start</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">true</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Shut down the thread.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> stop() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">true</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> run()</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">for</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">(;;) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>String pin = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>String data = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Thread control.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">synchronized</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">(</span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_sendQueue</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">while</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">( !</span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_start</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> &amp;&amp; !</span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">)</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Sleep for a bit so we don&#8217;t spin.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_sendQueue</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.wait(</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">TIMEOUT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (InterruptedException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">err</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.println(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (</span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_start</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>String[] a = (String[])</span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_sendQueue</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.firstElement();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ( a != </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>pin = a[0];</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>data = a[1];</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_start</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">false</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ( </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ) { </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Exit condition</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">return</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Open the connection and extract the data.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>DatagramConnection dc = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>String address = </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;DATA:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> + pin;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span><span>&#160;&#160;&#160; </span>dc = (DatagramConnection)Connector.open(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;mobitex:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> + address);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//an error if this fails</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>DatagramConnectionBase dcb = (DatagramConnectionBase)dc;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>Datagram d = dc.newDatagram(dc.getMaximumLength());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[] raw = data.getBytes();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>d.setAddress(address);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>d.setData(raw, 0, raw.</span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">length</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// An error if this fails.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>DatagramBase db = (DatagramBase)d;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Allocate a datagram ID - if you want to know about status.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// For this particular datagram, then we can allocate the id</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// here and log it for later follow up<span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>dcb.allocateDatagramId(d);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Set up a status listener.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>db.setDatagramStatusListener(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>dcb.send(d);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>dc.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (IOException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>MobitexDemo.</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.message(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// We&#8217;re done one connection so reset the start state.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_start</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">false</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> updateDatagramStatus(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> dgId, </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> code, Object context) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>String msg = </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;Datagram: &quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> + Integer.<em>toHexString</em>(dgId) +</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;\nStatus: &quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> + DatagramStatusListenerUtil.getStatusMessage(code);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>MobitexDemo.</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.message(msg);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">protected</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> onExit() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_sendThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.stop();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_receiverThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.stop();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>}</span></p>
<hr style="width: 100%; height: 2px" />
<h2><a name="_Toc125107037"><span style="color: #333399; font-family: 黑体">发送和接收短消息</span></a><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h2>
<p class="MsoNormal"><span style="font-family: 宋体">使用</span><span lang="EN-US">UDP</span><span style="font-family: 宋体">在数据报包上发送和接收短消息（</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">）。包含了</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">消息头信息的短消息数据报包，其大小是固定的</span><span lang="EN-US">160</span><span style="font-family: 宋体">个字节。</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：短消息不是所有的网络都支持。和你的服务商确认是否相关的网络全部和部分支持<span lang="EN-US">SMS</span>。大多数情况下，<span lang="EN-US">GPRS</span>和支持<span lang="EN-US">CDMA</span>的<span lang="EN-US">BlackBerry</span>设备支持<span lang="EN-US">SMS</span>。如果服务商提供<span lang="EN-US">SMS</span>服务，系统管理员也可以使用<span lang="EN-US">IT</span>策略来控制公司用户对<span lang="EN-US">SMS</span>的使用。管理员可以将<span lang="EN-US">ENABLE_SMS</span>项设置为<span lang="EN-US">TRUE</span>或<span lang="EN-US">FALSE</span>。缺省值是<span lang="EN-US">TRUE</span>（<span lang="EN-US">SMS</span>可用）。</span></p>
<h3><a name="_Toc125107038"><span style="color: #333399; font-family: 宋体">发送</span></a><span><span lang="EN-US" style="color: #333399">SMS</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">打开一个数据报连接来发送</span><span lang="EN-US" style="color: #333399">SMS<o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">调用</span><span lang="EN-US">Connector.open().</span><span style="font-family: 宋体">使用下面格式提供一个连接字符串</span><span lang="EN-US">:</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">DatagramConnection _dc = Connector.open(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;sms://&lt;peer_address&gt;&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">在这里，</span><span lang="EN-US" style="font-family: &#39;andale mono&#39;">&lt;peer_address&gt;</span><span style="font-family: 宋体">是接收者的电话号码－</span><span lang="EN-US">MSISDN</span><span style="font-family: 宋体">（</span><span lang="EN-US">MobileStation ISDN Number</span><span style="font-family: 宋体">）。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">你也可以忽略</span><span lang="EN-US" style="font-family: &#39;andale mono&#39;">peer_address</span><span style="font-family: 宋体">，代替它的是调用</span><span lang="EN-US">Datagram.setAddress</span><span style="font-family: 宋体">（）来设置消息的目的地地址。</span></p>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">创建一个</span><span lang="EN-US" style="color: #333399">SMS<o:p></o:p></span></strong></p>
<p class="MsoNormal" style="text-indent: 5.25pt"><span style="font-family: 宋体">调用</span><span lang="EN-US" style="font-family: &#39;andale mono&#39;">DatagramConnection.newDatagram().<o:p></o:p></span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal"><span lang="EN-US" style="font-family: &#39;andale mono&#39;">Datagram smsMessage = conn.newDatagram(buf, buf.length)</span><span lang="EN-US">;</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">设置</span><span lang="EN-US" style="color: #333399">SMS</span></strong><strong><span style="color: #333399; font-family: 宋体">内容</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">调用</span><span lang="EN-US">setData</span><span style="font-family: 宋体">（）。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String _msg = </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;This is a test message&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[] data = _msg.getBytes();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">smsMessage.setData(data, 0, data.length);</span><strong><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">发送一个</span><span lang="EN-US" style="color: #333399">SMS</span></strong><strong><span style="color: #333399; font-family: 宋体">消息</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：在一个与主应用程序线程独立的线程上打开网络连接，这样<span lang="EN-US">UI</span>就不会停止。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体">如果你没有在连接字符串中指定</span><span lang="EN-US" style="font-family: &#39;andale mono&#39;">peer_address</span><span style="font-family: 宋体">，那么调用</span><span lang="EN-US">Datagram.setAddress</span><span style="font-family: 宋体">（）设置</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">地址。为了发送</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">，调用</span><span lang="EN-US">DatagramConnection.send()</span><span style="font-family: 宋体">。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">smsMessage.setAddress(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;sms://+15555551234&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">_dc.send(datagram);</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">代码实例</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span lang="EN-US">SendSms.java</span><span style="font-family: 宋体">代码实例描述了如何在独立的线程上发送一条</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">消息。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">在实例的工作空间中，</span><span lang="EN-US">SendSms.java</span><span style="font-family: 宋体">实例需要一个服务器端的应用程序来与</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备模拟器交互，来模拟发送和接收</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">消息。你不能从</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备模拟器发送一个实际的</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">样例（</span><span lang="EN-US">SMSServer.java</span><span style="font-family: 宋体">）的服务器端程序包含在</span><span lang="EN-US">BlackBerry JDE</span><span style="font-family: 宋体">下。为了运行服务器端程序，运行</span><span lang="EN-US">run.bat</span><span style="font-family: 宋体">，它在你的</span><span lang="EN-US">BlackBerry JDE</span><span style="font-family: 宋体">实例的子目录下。例如</span><span lang="EN-US">:</span></p>
<p class="MsoNormal" style="text-indent: 5.25pt"><span lang="EN-US" style="font-family: &#39;andale mono&#39;">\samples\com\rim\samples\server\smsdemo\.</span></p>
<hr style="width: 100%; height: 2px" />
<p class="MsoNormal"><span style="font-family: 宋体">例：</span><span lang="EN-US">SendSms.java</span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">SendSms.java</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Copyright</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">(C)</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">2002</span><span lang="EN-US" style="font-size: 10pt; color: #7f7f9f; font-family: &#39;courier new&#39;">-</span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">2005</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Research</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">In</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Motion</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Limited.</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">All</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">rights</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">reserved.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">package</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> com.rim.samples.docs.smsdemo;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.system.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> javax.microedition.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> java.util.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> java.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> SendSms </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> Application {<span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">MAX_PHONE_NUMBER_LENGTH</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = 32;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Members.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">addr</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;15195551234&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">msg</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;This is a test message.&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> DatagramConnection _dc = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_openString</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;sms://&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> main(String[] args) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> SendSms().enterEventDispatcher();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> SendSms() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_dc = (DatagramConnection)Connector.open(</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_openString</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[] data = </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">msg</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.getBytes();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>Datagram d = _dc.newDatagram(_dc.getMaximumLength());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>d.setAddress(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;//&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> + </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">addr</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_dc.send(d);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ( IOException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>System.<em>exit</em>(0);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 5pt"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">}</span><span lang="EN-US"><v:shape id="_x0000_i1037" type="#_x0000_t75"> </v:shape></span></p>
<hr style="width: 100%; height: 2px" />
<h3><a name="_Toc125107039"><span style="color: #333399; font-family: 宋体">接收</span></a><span><span lang="EN-US" style="color: #333399">SMS</span></span><span><span style="color: #333399; font-family: 宋体">消息</span></span><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">创建一个独立的监听线程</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">在一个与主应用程序线程独立的线程上监听消息，以致<span lang="EN-US">UI</span>不会停止。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">打开数据报连接</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">调用</span><span lang="EN-US">Connector.open().</span><span style="font-family: 宋体">使用下面的格式提供一个字符串连接：</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">_dc = (DatagramConnection)Connector.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">open(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;sms://&lt;peer_address&gt;&lt;port&gt;&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">在这里：</span></p>
<ul>
<li><span lang="EN-US" style="font-family: &#39;andale mono&#39;">&lt;peer_address&gt;</span><span style="font-family: 宋体">是接收者的电话号码－</span><span lang="EN-US">MSISDN</span><span style="font-family: 宋体">（</span><span lang="EN-US">MobileStation ISDN Number</span><span style="font-family: 宋体">）</span> </li>
<li><span lang="EN-US" style="font-family: &#39;andale mono&#39;">&lt;port&gt;</span><span style="font-family: 宋体">是应用程序接收</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">消息的端口号。</span> </li>
</ul>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">获取数据报</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">创建一个</span><span lang="EN-US">Datagram</span><span style="font-family: 宋体">对象存储数据报。为获取</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">消息数据报，调用数据报连接上的</span><span lang="EN-US">receive()</span><span style="font-family: 宋体">。这个操作会阻塞直至数据接收完毕。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">Datagram </span><u><span lang="EN-US" style="font-size: 10pt; color: blue; font-family: &#39;courier new&#39;">d</span></u><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = _dc.newDatagram(160); </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// SMS messages have a fixed size of 160 bytes</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">_dc.receive(d);</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">从数据报提取数据</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">为了从</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">消息提取地址，调用</span><span lang="EN-US">Datagram.getAddress().</span><span style="font-family: 宋体">为了从</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">消息中提取数据，调用</span><span lang="EN-US">Datagram.getData().</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">String address = d.getAddress();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">String msg = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String(d.getData());</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">代码实例</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span lang="EN-US">ReceiveSms.java</span><span style="font-family: 宋体">描述了如何在一个独立的线程上接收一个</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">消息。</span></p>
<p class="MsoNormal">
<hr style="width: 100%; height: 2px" />
<p>&#160;</p>
<p class="MsoNormal"><span style="font-family: 宋体">例：</span><span lang="EN-US">ReceiveSms.java</span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">ReceiveSms.java</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Copyright</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">(C)</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">2002</span><span lang="EN-US" style="font-size: 10pt; color: #7f7f9f; font-family: &#39;courier new&#39;">-</span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">2005</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Research</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">In</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Motion</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Limited.</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">All</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">rights</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">reserved.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">package</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> com.rim.samples.docs.smsdemo;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.system.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> javax.microedition.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> java.util.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> java.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ReceiveSms </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> Application {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ListeningThread </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_listener</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Additional code required for complete sample.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> main(String[] args) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ReceiveSms().enterEventDispatcher();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>ReceiveSms() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_listener</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ListeningThread();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_listener</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.start();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ListeningThread </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> Thread {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">boolean</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">false</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> DatagramConnection _dc;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">synchronized</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> stop() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">true</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {_</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>dc.close(); </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Close the connection so the thread returns.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (IOException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">err</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.println(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_dc = (DatagramConnection)Connector.open(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;sms://&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">for</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">(;;) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ( </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">return</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>Datagram d = _dc.newDatagram(_dc.getMaximumLength());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_dc.receive(d);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>String address = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String(d.getAddress());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>String msg = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String(d.getData());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">out</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.println(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;Message received:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> + msg);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">out</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.println(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;From:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> + address);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.<em>exit</em>(0);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (IOException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">err</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.println(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>}</span></p>
<hr style="width: 100%; height: 2px" />
<ul>
<li><span style="color: red; font-style: italic">Last Updated:2007年1月11日</span> </li>
<li><span style="color: red; font-style: italic">Last Updated:2006年4月28日Created</span> </li>
</ul>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-charpter-7-datagram.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>BlackBerry 应用程序开发者指南 第一卷：基础&#8211;第6章 连接网络</title>
		<link>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-charpter-6-networks.html</link>
		<comments>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-charpter-6-networks.html#comments</comments>
		<pubDate>Tue, 22 Apr 2008 14:09:40 +0000</pubDate>
		<dc:creator>Taigoo</dc:creator>
		
		<category><![CDATA[文档]]></category>

		<category><![CDATA[api]]></category>

		<category><![CDATA[doc]]></category>

		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://www.inblackberry.com/web/news/developer-guide-vol-1-charpter-6-networkshtml.html</guid>
		<description><![CDATA[<p align="right" style="text-align: right;" class="MsoNormal">6</p>
<a name="_Toc125107000">第6</a>章 连接网络




<p class="MsoNormal">HTTP和socket连接</p>
<p class="MsoNormal">使用HTTP连接</p>
<p class="MsoNormal">使用HTTPS连接</p>
<p]]></description>
			<content:encoded><![CDATA[<p align="right" style="text-align: right;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 36pt;">6<o:p></o:p></span></strong></p>
<h1><a name="_Toc125107000"><span style="color: rgb(51, 51, 153); font-family: 宋体;">第</span><span lang="EN-US" style="color: rgb(51, 51, 153);">6</span></a><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">章</span><span style="color: rgb(51, 51, 153);"> </span></span><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">连接网络</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h1>
<table cellspacing="0" cellpadding="0" border="0" style="background: rgb(224, 224, 224) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoNormalTable">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p class="MsoNormal"><strong><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">和</span><span lang="EN-US" style="color: rgb(51, 51, 153);">socket</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">连接</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">使用</span><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">连接</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">使用</span><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTPS</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">连接</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">使用</span><span lang="EN-US" style="color: rgb(51, 51, 153);">socket</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">连接</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">使用端口</span><span lang="EN-US" style="color: rgb(51, 51, 153);">(port)</span></strong><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">连接</span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span style="color: rgb(51, 51, 153); font-family: 宋体;">使用蓝牙序列端口连接</span></strong></p>
</td>
</tr>
</tbody>
</table>
<h2><a name="_Toc125107001"><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></a><span><span style="color: rgb(51, 51, 153); font-family: 黑体;">和</span><span lang="EN-US" style="color: rgb(51, 51, 153);">Socket</span></span><span><span style="color: rgb(51, 51, 153); font-family: 黑体;">连接</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h2>
<p class="MsoNormal"><span style="font-family: 宋体;">尽管你可以通过</span><span lang="EN-US">socket</span><span style="font-family: 宋体;">连接实现</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">，但是最好使用</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">连接，因为</span><span lang="EN-US">socket</span><span style="font-family: 宋体;">连接不支持</span><span lang="EN-US">BlackBerry MDS</span><span style="font-family: 宋体;">服务特性，例如</span><span lang="EN-US">push</span><span style="font-family: 宋体;">。也最好使用</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">连接，因为比起那些使用</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">连接的应用程序，使用</span><span lang="EN-US">socket</span><span style="font-family: 宋体;">连接的应用程序明显需要更多的带宽。</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：</span><span style="font-family: 宋体;">如果你使用</span><span lang="EN-US">socket</span><span style="font-family: 宋体;">连接，将你的应用程序设计为适应断断续续的无线网络连接。例如，如果你的程序发生错误时，它会重新打开连接。</span></p>
<h2><a name="_Toc125107002"><span style="color: rgb(51, 51, 153); font-family: 黑体;">使用</span><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></a><span><span style="color: rgb(51, 51, 153); font-family: 黑体;">连接</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h2>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：</span><span style="font-family: 宋体;">使用</span><span lang="EN-US">BlackBerry Internet Service Browser</span><span style="font-family: 宋体;">的</span><span lang="EN-US">java</span><span style="font-family: 宋体;">程序不会启动</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">，</span><span lang="EN-US">HTTPS</span><span style="font-family: 宋体;">和</span><span lang="EN-US">TCP</span><span style="font-family: 宋体;">连接。</span></p>
<h3><a name="_Toc125107003"><span style="color: rgb(51, 51, 153); font-family: 宋体;">打开一个</span></a><span><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></span><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">连接</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">为了打开一个</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">连接，调用</span><span lang="EN-US">Connector.open(),</span><span style="font-family: 宋体;">指定</span><span lang="EN-US">http</span><span style="font-family: 宋体;">为协议。将返回的对象转化为一个</span><span lang="EN-US">HTTPConnection</span><span style="font-family: 宋体;">或者</span><span lang="EN-US">StreamConnection</span><span style="font-family: 宋体;">对象。</span><span lang="EN-US">HttpConnection</span><span style="font-family: 宋体;">是一个</span><span lang="EN-US">StreamConnection</span><span style="font-family: 宋体;">，它提供访问指定</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">功能，包括</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">头和其他</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">资源。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">HttpConnection conn = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">String URL = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;http://www.myServer.com/myContent&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">conn = (HttpConnection)Connector.open(URL);</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107004"><span style="color: rgb(51, 51, 153); font-family: 宋体;">设置</span></a><span><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTP</span></span><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">请求方式</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">为设置</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求方式（</span><span lang="EN-US">GET</span><span style="font-family: 宋体;">或</span><span lang="EN-US">POST</span><span style="font-family: 宋体;">），调用</span><span lang="EN-US">HttpConnection.setRequestMethod().</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">conn.setRequestMethod(HttpConnection.POST);</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107005"><span style="color: rgb(51, 51, 153); font-family: 宋体;">设置或获取头字段</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">为</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">请求或</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">响应消息设置或获取头字段，调用</span><span lang="EN-US">HttpConnection </span><span style="font-family: 宋体;">上的</span><span lang="EN-US">getRequestProperty() </span><span style="font-family: 宋体;">或</span><span lang="EN-US">setRequestProperty()</span><span style="font-family: 宋体;">。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">conn.setRequestProperty(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;User-Agent&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">, </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;BlackBerry/3.2.1&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">String lang = conn.getRequestProperty(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;Content-Language&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107006"><span style="color: rgb(51, 51, 153); font-family: 宋体;">发送和接受数据</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">为发送和接受数据，调用</span><span lang="EN-US">HTTPConnection</span><span style="font-family: 宋体;">的</span><span lang="EN-US">openInputStream()</span><span style="font-family: 宋体;">和</span><span lang="EN-US">openOutputStream()</span><span style="font-family: 宋体;">获得输入和输出流。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">InputStream in = conn.openInputStream();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">OutputStream out = conn.openOutputStream();</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107007"><span style="color: rgb(51, 51, 153); font-family: 宋体;">代码实例</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span lang="EN-US">HttpFetch.java </span><span style="font-family: 宋体;">实例使用了一个</span><span lang="EN-US">HTTP </span><span style="font-family: 宋体;">连接来获取数据。它遵循下列步骤：</span></p>
<ol>
<li>
<div style="margin-left: 18pt; text-indent: -18pt;" class="MsoNormal"><span style="font-family: 宋体;">创建一个连接线程。</span></div>
</li>
<li>
<div style="margin-left: 18pt; text-indent: -18pt;" class="MsoNormal"><span style="font-family: 宋体;">定义一个方法获取数据。</span></div>
</li>
<li>
<div style="margin-left: 18pt; text-indent: -18pt;" class="MsoNormal"><span style="font-family: 宋体;">定义一个方法将数据显示给用户。</span></div>
</li>
<li>
<div style="margin-left: 18pt; text-indent: -18pt;" class="MsoNormal"><span style="font-family: 宋体;">定义一个方法退出应用程序。</span></div>
</li>
<li>
<div style="margin-left: 18pt; text-indent: -18pt;" class="MsoNormal"><span style="font-family: 宋体;">定义应用程序构造子。</span></div>
</li>
</ol>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：</span><span lang="EN-US">HTTPFetch.java</span><span style="font-family: 宋体;">实例需要你在应用程序工程里创建资源文件，并且定义需要的资源键值。参看</span><span lang="EN-US">125</span><span style="font-family: 宋体;">页&ldquo;本地化应用程序</span><span lang="EN-US">&rdquo;</span><span style="font-family: 宋体;">获得更多信息。</span></p>
<p class="MsoNormal">
<hr style="width: 100%; height: 2px;" />
<p>&nbsp;</p>
<p class="MsoNormal"><span style="font-family: 宋体;">例：</span><span lang="EN-US">HTTPFetch.java</span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">HTTPFetch.java</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Copyright</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">(C)</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">2001</span><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 127, 159); font-family: 'courier new';">-</span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">2005</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Research</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">In</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Motion</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Limited.</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">All</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">rights</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">reserved.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">package</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> com.rim.samples.docs.httpfetch;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.ui.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.ui.component.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.ui.container.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.i18n.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.system.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> javax.microedition.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> java.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> com.rim.samples.docs.baseapp.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> com.rim.samples.docs.resource.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p>&nbsp;</o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HTTPFetch </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> BaseApp </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">implements</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HTTPFetchResource </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Constants.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String SAMPLE_PAGE = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;http://localhost/testpage/sample.txt&rdquo;;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String[] </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">HTTP_PROTOCOL</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = <span>&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;http://&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">, &ldquo;http:\\&rdquo;};</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> MainScreen _mainScreen;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> RichTextField _content;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Send</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">and</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">receive</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">data</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">over</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">network</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">on</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">a</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">separate</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">thread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">from</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">main</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">thread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">of</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">your</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">application.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>ConnectionThread </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_connectionThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> ConnectionThread();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">//statics</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> ResourceBundle _resources = ResourceBundle.getBundle(</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HTTPFetchResource.BUNDLE_ID, HTTPFetchResource.BUNDLE_NAME);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> main(String[] args) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HTTPFetch theApp = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HTTPFetch();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>theApp.enterEventDispatcher();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p>&nbsp;</o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">The</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">ConnectionThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">class</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">manages</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">HTTP</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">connection.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Fetch</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">operations</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">are</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">not</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">queued,</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">but</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">if</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">a</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">second</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">fetch</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">request</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">is</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">made</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">while</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">a</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">previous</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">request</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">is</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">still</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">active,</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">second</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">request</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">stalls</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">until</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">previous</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">request</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">completes.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p>&nbsp;</o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> ConnectionThread </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> Thread </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">TIMEOUT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = 500; </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">//ms</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_theUrl</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">/* The volatile keyword indicates that because the data is shared,</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span>* the value of each variable must always be read and written from memory,</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span>* instead of cached by the VM. This technique is equivalent to wrapping</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span>* the shared data in a synchronized block, but produces less overhead.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span>*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">volatile</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">boolean</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_start</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">false</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">volatile</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">boolean</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">false</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Retrieve</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">URL.</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">The</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">synchronized</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">keyword</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">makes</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">sure</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">that</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">only</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">one</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">thread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">at</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">a</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">time</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">can</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">call</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">this</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">method</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">on</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">a</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">ConnectionThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">object.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">synchronized</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String getUrl() </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">return</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_theUrl</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Fetch</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">a</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">page.</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">This</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">method</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">is</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">invoked</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">on</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">connection</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">thread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">by</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">fetchPage(),</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">which</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">is</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">invoked</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">in</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">application</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">constructor</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">when</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">user</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">selects</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Fetch</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">menu</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">item.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> fetch(String url) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_start</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">true</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_theUrl</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = url;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Close</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">thread.</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Invoked</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">when</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">application</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">exits.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> stop() </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">true</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Open</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">an</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">input</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">stream</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">and</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">extract</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">data.</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Invoked</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">when</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">thread</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">is</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">started.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> run() </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">for</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">(;;) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Thread control.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">while</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">( !</span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_start</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> &amp;&amp; !</span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// No connections are open for fetch requests,</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// but the thread has not been stopped.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><em>sleep</em>(</span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">TIMEOUT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (InterruptedException e) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">err</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.println(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Exit condition.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> ( </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> ) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">return</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">/* Ensure that fetch requests are not missed</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span>* while received data is processed.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span>*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">synchronized</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Open the connection and extract the data.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>StreamConnection s = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>s = (StreamConnection)Connector.open(getUrl());</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>InputStream input = s.openInputStream();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Extract data in 256 byte chunks.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">[] data = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">[256];</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> len = 0;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>StringBuffer raw = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> StringBuffer();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">while</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> ( -1 != (len = input.read(data)) ) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>raw.append(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String(data, 0, len));</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String text = raw.toString();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>updateContent(text);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>input.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>s.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (IOException e) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">err</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.println(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Display the text on the screen.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>updateContent(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Reset the start state.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_start</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">false</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Constructor.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> HTTPFetch() </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_mainScreen = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> MainScreen();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_mainScreen.setTitle(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> LabelField(</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_resources.getString(APPLICATION_TITLE), LabelField.ELLIPSIS</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>| LabelField.USE_ALL_WIDTH));</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_mainScreen.add(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> SeparatorField());</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_content = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> RichTextField(</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_resources.getString(HTTPDEMO_CONTENT_DEFAULT));</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_mainScreen.add(_content);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_mainScreen.addKeyListener(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_mainScreen.addTrackwheelListener(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Start the helper thread.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_connectionThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.start();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>pushScreen(_mainScreen);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>fetchPage(</span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">SAMPLE_PAGE</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Retrieve web content.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> fetchPage(String url) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Perform basic validation (set characters to lowercase and add http:// or https://).</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String lcase = url.toLowerCase();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">boolean</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> validHeader = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">false</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> i = 0;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">for</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (i = </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">HTTP_PROTOCOL</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.</span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">length</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> - 1; i &gt;= 0; &#8211;i) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> ( -1 != lcase.indexOf(</span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">HTTP_PROTOCOL</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">[i]) ) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>validHeader = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">true</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">break</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> ( !validHeader ) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Prepend the protocol specifier if it is missing.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>url = </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">HTTP_PROTOCOL</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">[0] + url;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Create a new thread for connection operations.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_connectionThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.fetch(url);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Display the content.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> updateContent(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String text) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">/* This technique creates several short-lived objects but avoids</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span>* the threading issues involved in creating a static Runnable and</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span>* setting the text.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span>*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>UiApplication.getUiApplication().invokeLater(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> Runnable() </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> run() </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_content.setText(text);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>});</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Close the connection thread when the user closes the application.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">protected</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> onExit() </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_connectionThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.stop();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span></p>
<hr style="width: 100%; height: 2px;" />
<h2><a name="_Toc125107008"><span style="color: rgb(51, 51, 153); font-family: 黑体;">使用</span><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTPS</span></a><span><span style="color: rgb(51, 51, 153); font-family: 黑体;">连接</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h2>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：<span lang="EN-US">BlackBerry Internet Service Browser</span>不允许<span lang="EN-US">Java</span>应用程序</span><span style="font-family: 宋体;">启动</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">，</span><span lang="EN-US">HTTPS</span><span style="font-family: 宋体;">和</span><span lang="EN-US">TCP</span><span style="font-family: 宋体;">连接。</span></p>
<h3><a name="_Toc125107009"><span style="color: rgb(51, 51, 153); font-family: 宋体;">打开一个</span></a><span><span lang="EN-US" style="color: rgb(51, 51, 153);">HTTPS</span></span><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">连接</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">为打开一个</span><span lang="EN-US">HTTPS</span><span style="font-family: 宋体;">连接，调用</span><span lang="EN-US">Connector.open()</span><span style="font-family: 宋体;">，指定</span><span lang="EN-US">https</span><span style="font-family: 宋体;">作为协议。将返回的对象转化为一个</span><span lang="EN-US">HttpsConnection</span><span style="font-family: 宋体;">；</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 426.1pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">HttpsConnection stream <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">= (HttpsConnection)Connector.open(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;https://host:443/&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-family: 'andale mono';"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107010"><span style="color: rgb(51, 51, 153); font-family: 宋体;">指定代理或终端到终端（</span></a><span><span lang="EN-US" style="color: rgb(51, 51, 153);">end_to_end</span></span><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">）模型</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">缺省的，连接在代理模型中使用</span><span lang="EN-US">HTTPS</span><span style="font-family: 宋体;">。用户也可以设置一个</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备选项来使用缺省的</span><span lang="EN-US">end_to_end</span><span style="font-family: 宋体;">模型。为获得更多信息，参看</span><span lang="EN-US">189</span><span style="font-family: 宋体;">页的&ldquo;</span><span lang="EN-US">HTTPS</span><span style="font-family: 宋体;">支持&ldquo;。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">为了在</span><span lang="EN-US">end_to_end</span><span style="font-family: 宋体;">模型里打开一个</span><span lang="EN-US">HTTPS</span><span style="font-family: 宋体;">连接，将下列参数中的一个增加到传递给</span><span lang="EN-US">Connector.open()</span><span style="font-family: 宋体;">的连接字符串中：</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="border-collapse: collapse;" class="MsoNormalTable">
<tbody>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p align="center" style="text-align: center;" class="MsoNormal"><span style="font-family: 宋体;">参数</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p align="center" style="text-align: center;" class="MsoNormal"><span style="font-family: 宋体;">描述</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">EndToEndRequired</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">这个参数指定了一个</span><span lang="EN-US">end_to_end HTTPS</span><span style="font-family: 宋体;">连接必须从</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备到目标服务器中使用。如果一个</span><span lang="EN-US">end_to_end</span><span style="font-family: 宋体;">的</span><span lang="EN-US">HTTPS</span><span style="font-family: 宋体;">连接不能建立，这个连接将会关闭。</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">EndToEndDesired</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">这个参数指定一个</span><span lang="EN-US">end_to_end HTTPS</span><span style="font-family: 宋体;">连接应该从</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备到目标服务器中被使用，如果</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备支持它的话。如果</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备不支持</span><span lang="EN-US">end_to_end TLS</span><span style="font-family: 宋体;">，并且用户许可代理</span><span lang="EN-US">TLS</span><span style="font-family: 宋体;">连接，那么一个代理连接将被使用。</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US"><o:p>     <br /></o:p></span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">HttpsConnection stream = </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>(HttpsConnection)Connector.open(</span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;https://host:443/;EndToEndDesired&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：<span lang="EN-US">BlackBerry</span>设备缺省没有安装<span lang="EN-US">end_to_end</span>模块。尽管这样，<span lang="EN-US">BlackBerry </span>桌面版软件<span lang="EN-US">3.6.0</span>及后续版本中包含了它。当应用程序加载到<span lang="EN-US">BlackBerry</span>设备时，为了加载模块，为你的应用程序在<span lang="EN-US">.alx</span>文件中加入下面的标记：</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p style="margin-left: 10.5pt;" class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">&lt;requires id=&quot;net.rim.blackberry.crypto1&quot;/&gt;<o:p></o:p></span></p>
<p style="margin-left: 10.5pt;" class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">&lt;requires id=&quot;net.rim.blackberry.crypto2&quot;/&gt;<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-family: 宋体;">为获得更多信息，参看</span><span lang="EN-US">183</span><span style="font-family: 宋体;">页的</span><span lang="EN-US">&rdquo;.alx</span><span style="font-family: 宋体;">文件</span><span lang="EN-US">&rdquo;</span><span style="font-family: 宋体;">。</span></p>
<h2><a name="_Toc125107011"><span style="color: rgb(51, 51, 153); font-family: 黑体;">使用</span><span lang="EN-US" style="color: rgb(51, 51, 153);">socket</span></a><span><span style="color: rgb(51, 51, 153); font-family: 黑体;">连接</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h2>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：<span lang="EN-US">BlackBerry Internet Service Browser</span>不允许<span lang="EN-US">Java</span>应用程序</span><span style="font-family: 宋体;">启动</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">，</span><span lang="EN-US">HTTPS</span><span style="font-family: 宋体;">和</span><span lang="EN-US">TCP</span><span style="font-family: 宋体;">连接。</span></p>
<h3><a name="_Toc125107012"><span style="color: rgb(51, 51, 153); font-family: 宋体;">指定</span></a><span><span lang="EN-US" style="color: rgb(51, 51, 153);">TCP</span></span><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">的设置</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">应用程序可以在下面的一种模式下建立一个</span><span lang="EN-US">TCP socket</span><span style="font-family: 宋体;">连接或一个在</span><span lang="EN-US">TCP</span><span style="font-family: 宋体;">上的</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体;">连接。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="border-collapse: collapse;" class="MsoNormalTable">
<tbody>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p align="center" style="text-align: center;" class="MsoNormal"><span style="font-family: 宋体;">模式</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p align="center" style="text-align: center;" class="MsoNormal"><span style="font-family: 宋体;">描述</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">代理模式</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">BES</span><span style="font-family: 宋体;">的</span><span lang="EN-US">MDS</span><span style="font-family: 宋体;">服务特征为</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备建立与</span><span lang="EN-US">Web </span><span style="font-family: 宋体;">服务器的</span><span lang="EN-US">TCP</span><span style="font-family: 宋体;">连接</span></p>
</td>
</tr>
<tr>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">直接模式</span></p>
</td>
<td width="284" valign="top" style="padding: 0cm 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 213.05pt;">
<p class="MsoNormal"><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备建立一个直接与</span><span lang="EN-US">Web</span><span style="font-family: 宋体;">服务器的</span><span lang="EN-US">TCP</span><span style="font-family: 宋体;">连接。</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：使用直接<span lang="EN-US">TCP</span>模式需要你和服务提供商一起紧密工作。联系你的服务提供商确保支持直接<span lang="EN-US">TCP socket</span>连接。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">为了通过编程指定<span lang="EN-US">TCP</span>设置，增加可选的<span lang="EN-US">deviceside</span>参数到传递给<span lang="EN-US">Connector.open()</span>的连接字符串。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在<span lang="EN-US">GSM</span>网络里，为指定<span lang="EN-US">BlackBerry</span>设备商的<span lang="EN-US">TCP</span>设置，用户点击<span lang="EN-US">BlackBerry</span>设备选项的<strong><span lang="EN-US">TCP</span></strong>。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：如果<span lang="EN-US">IT</span>策略设置允许<span lang="EN-US">TCP</span>连接，<span lang="EN-US">TCP</span>才在<span lang="EN-US">BlackBerry</span>设备选项里显示。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">如果<span lang="EN-US">TCP</span>设置没有指定，下将使用下面缺省的。<span lang="EN-US"><o:p></o:p></span></span></p>
<table cellspacing="0" cellpadding="0" border="1" style="border-collapse: collapse;" class="MsoNormalTable">
<tbody>
<tr>
<td width="189" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 142pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">网络</span></p>
</td>
<td width="189" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 142.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">缺省的</span><span lang="EN-US">TCP</span><span style="font-family: 宋体;">设置</span></p>
</td>
<td width="189" valign="top" style="padding: 0cm 5.4pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 142.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">可选的</span><span lang="EN-US">TCP</span><span style="font-family: 宋体;">设置</span></p>
</td>
</tr>
<tr>
<td width="189" valign="top" style="padding: 0cm 5.4pt; width: 142pt;">
<p class="MsoNormal"><span lang="EN-US">GSM</span></p>
</td>
<td width="189" valign="top" style="padding: 0cm 5.4pt; width: 142.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">代理模式</span></p>
</td>
<td width="189" valign="top" style="padding: 0cm 5.4pt; width: 142.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">直接模式</span></p>
</td>
</tr>
<tr>
<td width="189" valign="top" style="padding: 0cm 5.4pt; width: 142pt;">
<p class="MsoNormal"><span lang="EN-US">iDEN</span></p>
</td>
<td width="189" valign="top" style="padding: 0cm 5.4pt; width: 142.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">直接模式</span></p>
</td>
<td width="189" valign="top" style="padding: 0cm 5.4pt; width: 142.05pt;">
<p class="MsoNormal"><span style="font-family: 宋体;">代理模式</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-family: 宋体;">参看</span><span lang="EN-US">API</span><span style="font-family: 宋体;">参考的</span><span lang="EN-US">Connector</span><span style="font-family: 宋体;">获得更多信息。</span></p>
<h3><a name="_Toc125107013"><span style="color: rgb(51, 51, 153); font-family: 宋体;">打开一个</span></a><span><span lang="EN-US" style="color: rgb(51, 51, 153);">socket</span></span><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">连接</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">为打开一个</span><span lang="EN-US">socket</span><span style="font-family: 宋体;">连接，调用</span><span lang="EN-US">Connector.open(),</span><span style="font-family: 宋体;">指定</span><span lang="EN-US">socket</span><span style="font-family: 宋体;">为其协议。</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：应用程序必须显式的输入他们的本地机器<span lang="EN-US">IP</span>，因为<span lang="EN-US">localhost</span>不被支持。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; margin-left: 10.5pt; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String URL = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;socket://&lt;local machine IP&gt;:4444&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">StreamConnection conn = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">conn = (StreamConnection)Connector.open(URL);</span><span lang="EN-US" style="font-family: 'andale mono';"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107014"><span style="color: rgb(51, 51, 153); font-family: 宋体;">在</span></a><span><span lang="EN-US" style="color: rgb(51, 51, 153);">socket</span></span><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">连接上发送和接收数据</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">使用</span><span lang="EN-US">openInputStream() </span><span style="font-family: 宋体;">和</span><span lang="EN-US">openOutputStream()</span><span style="font-family: 宋体;">获得输入和输出流。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">OutputStreamWriter _out = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> OutputStreamWriter(conn.openOutputStream());</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">String data = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;This is a test&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> length = data.length();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_out.write(data, 0, length);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">InputStreamReader _in = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> InputStreamReader(conn.openInputStream());</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">char</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">[] input = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">char</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">[length];</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">for</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> ( </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> i = 0; i &lt; length; ++i ) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>input[i] = (</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">char</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">)_in.read();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107015"><span style="color: rgb(51, 51, 153); font-family: 宋体;">关闭连接</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">调用输入和输出流，以及</span><span lang="EN-US">socket</span><span style="font-family: 宋体;">连接上的</span><span lang="EN-US">close()</span><span style="font-family: 宋体;">方法。</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：每个<span lang="EN-US">close()</span>方法抛出一个<span lang="EN-US">IOException</span>。应用程序必须实现这个异常的处理。<span lang="EN-US"><o:p></o:p></span></span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_in.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_out.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">conn.close();</span></p>
</td>
</tr>
</tbody>
</table>
<h2><a name="_Toc125107016"><span style="color: rgb(51, 51, 153); font-family: 黑体;">使用端口连接</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h2>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：当你的应用程序首先访问<span lang="EN-US">net.rim.device.api.system.SerialPort</span>类或<span lang="EN-US">net.rim.device.api.system.USBPort</span>类时，检查<span lang="EN-US">NoClassDefFoundError</span>。如果系统管理员使用应用程序管理限制访问序列端口和<span lang="EN-US">USB</span>接口，这个错误就会抛出。参看<span lang="EN-US">16</span>页的&ldquo;应用程序管理&rdquo;获得更多信息。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">当它们使用一个序列端口或<span lang="EN-US">USB</span>接口连上一台计算机式，应用程序可以使用一个序列端口或<span lang="EN-US">USB</span>接口和桌面的应用程序进行通信。连接类型也可以使用来和一个插到序列端口或<span lang="EN-US">USB</span>接口的外围设备通信。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：如果你正在使用端口连接和桌面应用程序通信，你不必让所有其他正在使用序列端口或<span lang="EN-US">USB</span>接口的应用程序运行。</span></p>
<h3><a name="_Toc125107017"><span style="color: rgb(51, 51, 153); font-family: 宋体;">打开一个</span></a><span><span lang="EN-US" style="color: rgb(51, 51, 153);">USB</span></span><span><span style="color: rgb(51, 51, 153); font-family: 宋体;">接口或序列端口连接</span></span><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">调用</span><span lang="EN-US">Connector.open(),</span><span style="font-family: 宋体;">指定</span><span lang="EN-US">comm</span><span style="font-family: 宋体;">作为协议，</span><span lang="EN-US">COM1</span><span style="font-family: 宋体;">或</span><span lang="EN-US">USB</span><span style="font-family: 宋体;">作为端口。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> StreamConnection _conn = </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>(StreamConnection)Connector.open(<span>&nbsp; </span><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;comm:COM1;baudrate=9600;bitsperchar=8;parity=none;stopbits=1&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107018"><span style="color: rgb(51, 51, 153); font-family: 宋体;">在端口连接上发送数据</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">调用</span><span lang="EN-US">openDataOnputStream() </span><span style="font-family: 宋体;">和</span><span lang="EN-US">openOutputStream()</span><span style="font-family: 宋体;">获得输出流。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">DataOutputStream _dout = _conn.openDataOutputStream();</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-family: 宋体;">使用输出流上的写方法来写数据。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><u><span lang="EN-US" style="font-size: 10pt; color: blue; font-family: 'courier new';">String</span></u><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> data = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;This is a test&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_dout.writeChars(test);</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107019"><span style="color: rgb(51, 51, 153); font-family: 宋体;">在端口连接上接收数据</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">调用</span><span lang="EN-US">openDataInputStream() </span><span style="font-family: 宋体;">和</span><span lang="EN-US">openIutputStream()</span><span style="font-family: 宋体;">获得输入流。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">DataInputStream _din = _conn.openInputStream();</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">使用输入流上的读方法来写数据。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p style="text-indent: 15.75pt;" class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">String contents = _din.readUTF();<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：你不能从在主事件线程上的输入流读取，因为这个操作会阻塞直至数据接收完成。创建一个独立的线程，在此线程上接收数据。</span></p>
<h3><a name="_Toc125107020"><span style="color: rgb(51, 51, 153); font-family: 宋体;">关闭端口连接</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">调用输入和输出流，以及端口连接上的</span><span lang="EN-US">close()</span><span style="font-family: 宋体;">方法。</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：每个<span lang="EN-US">close()</span>方法可能抛出一个<span lang="EN-US">IOException</span>异常。应用程序必须实现异常的处理。<span lang="EN-US"><o:p></o:p></span></span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p style="text-indent: 15.75pt;" class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">_din.close();<o:p></o:p></span></p>
<p style="text-indent: 15.75pt;" class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">_dout.close();<o:p></o:p></span></p>
<p style="text-indent: 15.75pt;" class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">conn.close();<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<h2><a name="_Toc125107021"><span style="color: rgb(51, 51, 153); font-family: 黑体;">使用蓝牙序列端口连接</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h2>
<p class="MsoNormal"><span style="font-family: 宋体;">蓝牙</span><span lang="EN-US">API</span><span style="font-family: 宋体;">（</span><span lang="EN-US">net.rim.device.api.bluetooth</span><span style="font-family: 宋体;">）允许应用程序访问蓝牙序列端口配置（</span><span lang="EN-US">Profile</span><span style="font-family: 宋体;">）以及允许启动一个服务器或者客户端蓝牙序列端口连接到一台计算机或其他蓝牙无线技术支持的设备。</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：当你的应用程序首先访问蓝牙<span lang="EN-US">API</span>时，会检查<span lang="EN-US">NoClassDefFoundError</span>。如果系统管理员使用应用程序管理限制访问序列端口和<span lang="EN-US">USB</span>接口，这个错误就会抛出。参看<span lang="EN-US">16</span>页的&ldquo;应用程序管理&rdquo;获得更多信息。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="text-indent: 42pt;" class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><span>&nbsp;</span>BlackBerry</span><span style="font-family: 宋体;">模拟器不支持蓝牙。</span></p>
<h3><a name="_Toc125107022"><span style="color: rgb(51, 51, 153); font-family: 宋体;">打开一个蓝牙序列端口连接</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">为了打开一个蓝牙序列端口连接，调用</span><span lang="EN-US">Connector.open(),</span><span style="font-family: 宋体;">它提供由</span><span lang="EN-US">BluetoothSerialPort.getSerialPortInfo()</span><span style="font-family: 宋体;">返回的序列端口信息作为参数。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">由这个方法返回的连接字符串指定了作为协议的</span><span lang="EN-US">btspp:// </span><span style="font-family: 宋体;">以及下面条目之一：</span></p>
<ul>
<li><span style="font-family: 宋体;">如果你正在打开一个连接作为客户端，由</span><span lang="EN-US">getSerialPortInfo().toString()</span><span style="font-family: 宋体;">返回的连接字符串包含了设备号（</span><span lang="EN-US">device ID</span><span style="font-family: 宋体;">）以及</span><span lang="EN-US">Server</span><span style="font-family: 宋体;">设备正在监听的端口。</span> </li>
<li><span style="font-family: 宋体;">如果你正在打开一个连接作为服务器，由</span><span lang="EN-US">getSerialPortInfo().toString()</span><span style="font-family: 宋体;">返回的连接字符串包含了你的</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体;">设备正在监听的端口。</span> </li>
</ul>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">BluetoothSerialPortInfo[] info = BluetoothSerialPort.getSerialPortInfo();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">StreamConnection _conn = (StreamConnection)Connector.open( info.toString(), </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Connector.READ_WRITE );</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107023"><span style="color: rgb(51, 51, 153); font-family: 宋体;">在蓝牙序列端口连接上发送数据</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">调用</span><span lang="EN-US">openDataOutputStream()</span><span style="font-family: 宋体;">或</span><span lang="EN-US">openOutputStream()</span><span style="font-family: 宋体;">获得一个输出流。</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：直到连接建立，这个调用会阻塞。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">DataOutputStream _dout = _conn.openDataOutputStream();<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-family: 宋体;">在输出流上使用写方法来写数据</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String data = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;This is a test&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_dout.writeChars(test);</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107024"><span style="color: rgb(51, 51, 153); font-family: 宋体;">在蓝牙序列端口连接上接收数据</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">调用</span><span lang="EN-US">openDataInputStream()</span><span style="font-family: 宋体;">或</span><span lang="EN-US">openInputStream()</span><span style="font-family: 宋体;">获得一个输入流。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p style="text-indent: 15.75pt;" class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">DataInputStream _din = _conn.openInputStream();<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-family: 宋体;">在输入流上使用读方法来读数据</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p style="text-indent: 15.75pt;" class="MsoNormal"><span lang="EN-US" style="font-family: 'andale mono';">String contents = _din.readUTF();<o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体;"><img hspace="hspace" height="31" width="34" v:shapes="_x0000_i1025" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" alt="" /></span><strong><span style="font-family: 宋体;">注</span></strong><span style="font-family: 宋体;">：你不能在主事件线程上读取输入流数据，因为这个操作会阻塞直到数据接收完毕。创建一个独立的线程来接收数据。</span><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></p>
<h3><a name="_Toc125107025"><span style="color: rgb(51, 51, 153); font-family: 宋体;">关闭一个端口连接</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体;">在输入和输出流以及蓝牙序列端口连接上调用</span><span lang="EN-US">close()</span><span style="font-family: 宋体;">方法。</span></p>
<table cellspacing="0" cellpadding="0" border="1" style="background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; border-collapse: collapse;" class="MsoTableGrid">
<tbody>
<tr>
<td width="568" valign="top" style="padding: 0cm 5.4pt; width: 426.1pt;">
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (_bluetoothConnection != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_bluetoothConnection.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">(IOException ioe) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p>&nbsp;</o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (_din != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>_din.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">(IOException ioe) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (_dout != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>_dout.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">(IOException ioe) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;</span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_bluetoothConnection = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_din = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_dout = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107026"><span style="color: rgb(51, 51, 153); font-family: 宋体;">代码实例</span></a><span lang="EN-US" style="color: rgb(51, 51, 153);"><o:p></o:p></span></h3>
<p style="text-indent: 15.75pt;" class="MsoNormal"><span lang="EN-US">BluetoothSerialPortDemo.java</span><span style="font-family: 宋体;">实例使一个简单蓝牙序列端口应用程序的客户端。这个应用程序监听在序列端口上的数据，并且当数据到达时提交数据。</span></p>
<hr style="width: 100%; height: 2px;" />
<p style="text-indent: 15.75pt;" class="MsoNormal"><span style="font-family: 宋体;">例：</span><span lang="EN-US">BluetoothSerialPortDemo.java</span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">BluetoothSerialPortDemo.java</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Copyright</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">(C)</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">2004</span><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 127, 159); font-family: 'courier new';">-</span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">2005</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Research</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">In</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Motion</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Limited.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">/* The client side of a simple serial port demonstration application.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">* This application listens for text on the serial port and</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">* renders the data when it arrives.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">package</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> com.rim.samples.docs.bluetoothserialportdemo;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> java.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> javax.microedition.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.bluetooth.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.ui.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.ui.component.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.ui.container.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.i18n.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.system.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> net.rim.device.api.util.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> com.rim.samples.docs.baseapp.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> com.rim.samples.docs.resource.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p>&nbsp;</o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> BluetoothSerialPortDemo </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> BaseApp </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">implements</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> BluetoothSerialPortDemoResResource {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">//statics &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> ResourceBundle _resources;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">INSERT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = 1;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">REMOVE</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = 2;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">CHANGE</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = 3;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">JUST_OPEN</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = 4;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">CONTENTS</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = 5;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">NO_CONTENTS</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = 6;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_resources = ResourceBundle.getBundle(BluetoothSerialPortDemoResResource.BUNDLE_ID,</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>BluetoothSerialPortDemoResResource.BUNDLE_NAME);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> EditField _infoField;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> StreamConnection _bluetoothConnection;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> DataInputStream </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_din</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>rivate DataOutputStream _dout;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> main(String[] args)</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>BluetoothSerialPortDemo theApp = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> BluetoothSerialPortDemo();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>theApp.enterEventDispatcher();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p>&nbsp;</o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">//constructor &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> BluetoothSerialPortDemo()</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MainScreen mainScreen = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> MainScreen();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>mainScreen.setTitle(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> LabelField(_resources.getString(TITLE), </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>LabelField.USE_ALL_WIDTH));</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_infoField = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> EditField(Field.READONLY);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>mainScreen.add(_infoField);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>mainScreen.addKeyListener(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>mainScreen.addTrackwheelListener(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>pushScreen(mainScreen);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>invokeLater(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> Runnable() </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>openPort();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>});</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p>&nbsp;</o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">protected</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> onExit() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>closePort();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p>&nbsp;</o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Close the serial port.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> closePort() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (_bluetoothConnection != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_bluetoothConnection.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">(IOException ioe) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (</span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_din</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_din</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">(IOException ioe) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (_dout != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_dout.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">(IOException ioe) </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_bluetoothConnection = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_din</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_dout = </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Open the serial port.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> openPort() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (_bluetoothConnection != </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>closePort();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> InputThread().start();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p>&nbsp;</o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> InputThread </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> Thread {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>BluetoothSerialPortInfo[] info = </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>BluetoothSerialPort.getSerialPortInfo();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">( info == </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> || info.length == 0 ) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>invokeAndWait( </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> Runnable() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Dialog.alert( </span><span lang="EN-US" style="font-size: 10pt; color: rgb(42, 0, 255); font-family: 'courier new';">&quot;No bluetooth serial ports available for connection.&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>onExit();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>System.<em>exit</em>(1);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>});</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_bluetoothConnection = (StreamConnection)Connector.open( info[0].toString(),</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Connector.READ_WRITE);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_din</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> = _bluetoothConnection.openDataInputStream();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>_dout = _bluetoothConnection.openDataOutputStream();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">(IOException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>invokeAndWait( </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> Runnable() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">Dialog.alert(&ldquo;Unable to open serial port&rdquo;);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">onExit();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">System.exit(1);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">});</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">} </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">( UnsupportedOperationException e ) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">invokeAndWait( </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> Runnable() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">Dialog.alert(&ldquo;This handheld or simulator does not support bluetooth.&rdquo;);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">onExit();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">System.exit(1);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">});</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> type, offset, count;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">String value;</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_dout.writeInt(</span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">JUST_OPEN</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_dout.flush();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">for</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (;;) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">type = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_din</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.readInt();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (type == </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">INSERT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">offset = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_din</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.readInt();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">value = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_din</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.readUTF();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">insert(value, offset);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}<o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"><span>&nbsp;</span></span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (type == </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">REMOVE</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">offset = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_din</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.readInt();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">count = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_din</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.readInt();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">remove(offset, count);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">} <o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (type == </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">JUST_OPEN</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 127, 95); font-family: 'courier new';">// Send contents to desktop.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">value = _infoField.getText();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (value == </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> || value.equals(&ldquo;&ldquo;)) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_dout.writeInt(</span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">NO_CONTENTS</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_dout.flush();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">} <o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_dout.writeInt(</span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">CONTENTS</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_dout.writeUTF(_infoField.getText());</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_dout.flush();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">} <o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (type == </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">CONTENTS</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">String contents = </span><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">_din</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.readUTF();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">synchronized</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">(Application.getEventLock()) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 10.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_infoField.setText(contents);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">} <o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (type == </span><em><span lang="EN-US" style="font-size: 10pt; color: rgb(0, 0, 192); font-family: 'courier new';">NO_CONTENTS</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">} <o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">else</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> {<o:p></o:p></span></p>
<p align="left" style="text-indent: 15.05pt; text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">throw</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> RuntimeException();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-indent: 5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">} <o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">(IOException ioe) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-indent: 10pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">invokeLater(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> Runnable() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-indent: 19.7pt; text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 42pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">Dialog.alert(&ldquo;Problems reading from or writing to serial port.&rdquo;);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 42pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">onExit();</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 42pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">System.exit(1);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-indent: 35pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-indent: 20pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">});</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-indent: 10pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-indent: 5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p>&nbsp;</o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> insert(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> String msg, </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> offset) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-indent: 10pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">invokeLater(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> Runnable() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-indent: 19.7pt; text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 31.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_infoField.setCursorPosition(offset);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 31.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_infoField.insert(msg);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 31.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-indent: 15pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">});</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> remove(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> offset, </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> count) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">invokeLater(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> Runnable() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 21pt; text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 31.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_infoField.setCursorPosition(offset+count);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 31.5pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">_infoField.backspace(count);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 21pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="margin-left: 21pt; text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">});</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">Override</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">makeMenu</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">to</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">add</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">custom</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">menu</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">items.</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: rgb(63, 95, 191); font-family: 'courier new';">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">protected</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> makeMenu(Menu menu, </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> instance)</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">{</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> (_infoField.getTextLength() &gt; 0) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">menu.add(</span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> MenuItem(_resources, MENUITEM_COPY, 100000, 10) {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">Clipboard.getClipboard().put(_infoField.getText());</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">});</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; color: rgb(127, 0, 85); font-family: 'courier new';">super</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">.makeMenu(menu, instance);</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<p align="left" style="text-align: left;" class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: 'courier new';">}</span><span lang="EN-US" style="font-size: 10pt; font-family: 'courier new';"><o:p></o:p></span></p>
<hr style="width: 100%; height: 2px;" />
<ul>
<li><span style="color: red; font-style: italic;">Last Updated:2007年1月10日</span> </li>
<li><span style="color: red; font-style: italic;">Last Updated:2006年04月28日 created</span> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-charpter-6-networks.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 3.082 seconds -->
