﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Look into it ~-随笔分类-J2ME</title><link>http://www.blogjava.net/lukewange-hit1983/category/33801.html</link><description>present</description><language>zh-cn</language><lastBuildDate>Thu, 13 Nov 2008 01:40:31 GMT</lastBuildDate><pubDate>Thu, 13 Nov 2008 01:40:31 GMT</pubDate><ttl>60</ttl><item><title>位运算</title><link>http://www.blogjava.net/lukewange-hit1983/archive/2008/11/12/240082.html</link><dc:creator>LukeW</dc:creator><author>LukeW</author><pubDate>Wed, 12 Nov 2008 05:53:00 GMT</pubDate><guid>http://www.blogjava.net/lukewange-hit1983/archive/2008/11/12/240082.html</guid><wfw:comment>http://www.blogjava.net/lukewange-hit1983/comments/240082.html</wfw:comment><comments>http://www.blogjava.net/lukewange-hit1983/archive/2008/11/12/240082.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lukewange-hit1983/comments/commentRss/240082.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lukewange-hit1983/services/trackbacks/240082.html</trackback:ping><description><![CDATA[<strong>C中的位运算</strong><br />
能够运用到任何整形的数据类型上(包括char, int), 无论有没有short, long, unsigned这样的限定词.<br />
<br />
<br />
位运算的应用<br />
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;交换指针变量x,y所指向的存储位置处存放的值<br />
</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;优势是不需要第三个位置来临时存储另一个值<br />
</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;但是这个方法并没有明显的性能优势,只是一个智力上的消遣</span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);">&nbsp;inplace_swap(</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">x,&nbsp;</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">y)<br />
{<br />
&nbsp;</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">x&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">x&nbsp;</span><span style="color: rgb(0, 0, 0);">^</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">y;<br />
&nbsp;</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">x&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">x&nbsp;</span><span style="color: rgb(0, 0, 0);">^</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">y;<br />
&nbsp;</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">x&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">x&nbsp;</span><span style="color: rgb(0, 0, 0);">^</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">y;<br />
}<br />
</span></div>
<br />
<strong>位运算常见用法:</strong><br />
实现掩码运算<br />
<br />
<br />
<br />
-----------------------------------<br />
<strong>Java中的位运算</strong><br />
<br />
<br />
<img src ="http://www.blogjava.net/lukewange-hit1983/aggbug/240082.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lukewange-hit1983/" target="_blank">LukeW</a> 2008-11-12 13:53 <a href="http://www.blogjava.net/lukewange-hit1983/archive/2008/11/12/240082.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>j2me 联网技术分析总结</title><link>http://www.blogjava.net/lukewange-hit1983/archive/2008/11/04/238629.html</link><dc:creator>LukeW</dc:creator><author>LukeW</author><pubDate>Tue, 04 Nov 2008 08:22:00 GMT</pubDate><guid>http://www.blogjava.net/lukewange-hit1983/archive/2008/11/04/238629.html</guid><wfw:comment>http://www.blogjava.net/lukewange-hit1983/comments/238629.html</wfw:comment><comments>http://www.blogjava.net/lukewange-hit1983/archive/2008/11/04/238629.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lukewange-hit1983/comments/commentRss/238629.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lukewange-hit1983/services/trackbacks/238629.html</trackback:ping><description><![CDATA[<strong>基本点:</strong><br />
<p><strong>Generic Connections</strong></p>
<p>
In the CLDC Generic Connection framework, all connections are created using
the <code>open</code> static method from the <code>Connector</code> class. If
successful, this method returns an object that implements one of the generic
connection interfaces. Figure 1 shows how these interfaces form an <em>is-a</em>
hierarchy. The <code>Connection</code> interface is the base interface such
that <code>StreamConnectionNotifier</code> <em>is a</em> <code>Connection</code> and
<code>InputConnection</code> <em>is a</em> <code>Connection</code> too.
</p>
<center>
<img src="http://developers.sun.com/mobility/images/network_fig1.gif" alt="fig1.gif" width="435" height="357" /><br />
Figure 1: Connection interface hierarchy
</center>
<ul>
    <li>The <code>Connection</code> interface is the most basic connection type. It
    can only be opened and closed.</li>
    <li>The <code>InputConnection</code> interface represents a device from which
    data can be
    read. Its <code>openInputStream</code> method returns an input stream for the
    connection.
    </li>
    <li>The <code>OuputConnection</code> interface represents a device to which data
    can be
    written. Its <code>openOutputStream</code> method returns an output stream for
    the connection.
    </li>
    <li>The <code>StreamConnection</code> interface combines the input and output
    connections.
    </li>
    <li>The <code>ContentConnection</code> is a subinterface of
    <code>StreamConnection</code>. It
    provides access to some of the basic meta data information provided by HTTP
    connections.
    </li>
    <li>The <code>StreamConnectionNotified</code> waits for a connection to be
    established.
    It returns a <code>StreamConnection</code> on which a communication link has ben
    established.
    </li>
    <li>The <code>DatagramConnection</code> represents a datagram endpoint.</li>
</ul>
<p>
The <code>open</code> method of the <code>Connector</code> class has the
following syntax, where the <code>String</code> parameter has the format
<code>"protocol:address;parameters"</code>.
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">Connector.open(String);</span></div>
<p>
Here are a few examples:
</p>
<p>
<strong>HTTP Connection</strong>
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">Connector.open(</span><span style="color: #000000;">"</span><span style="color: #000000;">http://java.sun.com/developer</span><span style="color: #000000;">"</span><span style="color: #000000;">);</span></div>
<p>
<strong>Datagram Connection</strong>
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">Connector.open(</span><span style="color: #000000;">"</span><span style="color: #000000;">datagram://address:port#</span><span style="color: #000000;">"</span><span style="color: #000000;">);</span></div>
<p>
<strong>Communicate with a Port</strong></p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">Connector.open(</span><span style="color: #000000;">"</span><span style="color: #000000;">comm:0;baudrate=9600');</span></div>
<p>
</p>
<p>
<strong>Open Files</strong><br />
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">Connector.open(</span><span style="color: #000000;">"</span><span style="color: #000000;">file:/myFile.txt</span><span style="color: #000000;">"</span><span style="color: #000000;">);</span></div>
<br />
<strong><br />
</strong><strong>The HttpConnection Interface</strong>:<br />
<br />
The HTTP protocol is a request-response application protocol in which the
parameters of the request must be set before the request is sent. The connection
could be in one of the three following states:
<ul>
    <li>Setup: No connection yet</li>
    <li>Connected: Connection has been made, the request has been sent, and some
    response is
    expected</li>
    <li>Closed: Connection is closed</li>
</ul>
<p>
In the <strong>setup</strong> state the following methods can be invoked:
</p>
<ul>
    <li><code>setRequestMethod</code>
    </li>
    <li><code>setRequestProperty</code></li>
</ul>
<p>
For example, suppose you have this connection: <br />
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">HttpConnection&nbsp;c&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(HttpConnection)<br />
Connector.open(</span><span style="color: #000000;">"</span><span style="color: #000000;">http://java.sun.com/developer</span><span style="color: #000000;">"</span><span style="color: #000000;">);</span></div>
<p>
Then, you can set the request method to be of type <code>POST</code> as follows:
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">c.setRequestMethod(HttpConnection.POST);</span></div>
<p>
And likewise, you can set some of the HTTP properties. For example, you
can set the <code>User-Agent</code> as follows:</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">c.setRequestProperty(</span><span style="color: #000000;">"</span><span style="color: #000000;">User-Agent</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">Profile/MIDP-1.0&nbsp;Configuration/CLDC-1.0</span><span style="color: #000000;">"</span><span style="color: #000000;">);</span></div>
<br />
<p>
If there is a method that requires data to be sent or received from the
server, there is a state transition from <strong>Setup</strong> to <strong>Connected</strong>.
Examples of methods that cause the transition include:
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">openInputStream<br />
openOutputStream<br />
openDataInputStream<br />
openDataOutputStream<br />
getLength<br />
getType<br />
getDate<br />
getExpiration</span></div>
<p>
And while the connection is open, some of these methods that may
be invoked:
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">getURL<br />
getProtocol<br />
getHost<br />
getPort</span></div>
<img src="http://developers.sun.com/im/a.gif" alt=" " border="0" width="1" height="4" /><strong><br />
<br />
------------------------------------------------------------<br />
要注意的问题:<br />
</strong>开发中遇到个很头疼的问题, 与服务器通信write()数据时报java.io.IOException: Couldn't write to socket.<br />
但是服务器抓不到任何包. 一开始怀疑是连建立连接出的问题, 实际上服务器抓不到包也有可能是流在没有close的时候就已经报错了.<br />
如:<br />
conn.open("url");<br />
out = conn.openDataOutputStream();//此时将进行与服务器的三次握手;<br />
&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; //但是如果在out.close()之前出现异常服务器是抓不到任何包的<br />
out.write(byte[] bb);<br />
<br />
关于这个的解释应该是流的缓冲机制.<br />
所以正确的写法应该是捕捉到异常之后在catch块中把流close掉<strong>.<br />
</strong>服务器端开发人员一般会说收不到包所以连接有问题,会把责任推给客户端,抓住这个证据在跟服务器端的同事扯皮时将处于有利的位置,嘎嘎.<strong><br />
<span style="color: red;">还有就是要多做小实验, 注意代码要规范严格.</span><br />
<br />
发现的几个问题:</strong><br />
1. java.io.IOException: Couldn't write to socket <br />
<br />
2.
<em>java</em>.<em>io</em>.<em>IOException</em>: <em>Couldn't read from socket</em><br />
<br />
<strong>CMNET联网方案:<br />
<br />
CMWAP联网方案:<br />
<br />
移动资费页的处理:<br />
<br />
一个通用的HTTP连接封装:</strong><br />
<img src ="http://www.blogjava.net/lukewange-hit1983/aggbug/238629.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lukewange-hit1983/" target="_blank">LukeW</a> 2008-11-04 16:22 <a href="http://www.blogjava.net/lukewange-hit1983/archive/2008/11/04/238629.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>j2me获取系统信息</title><link>http://www.blogjava.net/lukewange-hit1983/archive/2008/08/28/225341.html</link><dc:creator>LukeW</dc:creator><author>LukeW</author><pubDate>Thu, 28 Aug 2008 08:43:00 GMT</pubDate><guid>http://www.blogjava.net/lukewange-hit1983/archive/2008/08/28/225341.html</guid><wfw:comment>http://www.blogjava.net/lukewange-hit1983/comments/225341.html</wfw:comment><comments>http://www.blogjava.net/lukewange-hit1983/archive/2008/08/28/225341.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lukewange-hit1983/comments/commentRss/225341.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lukewange-hit1983/services/trackbacks/225341.html</trackback:ping><description><![CDATA[在J2ME开发中，我们经常需要和手机系统进行交互，获得一些和系统相关的信息，在J2ME API设计中，提供了一系列的系统属性
<div align="center">表1 &nbsp;&nbsp;CLDC、MIDP和JTWI属性</div>
<div align="center">
<table style="border: medium none ; margin-left: 62.1pt; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0">
    <tbody>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div align="center">属性名称</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div align="center">属性作用</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.profiles</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的MIDP版本，返回格式值为&#8220;MIDP-1.0&#8221;或&#8220;MIDP-2.0&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.configuration</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的CLDC版本，返回格式值为&#8220;CLDC-1.0&#8221;或&#8220;CLDC-2.0&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.locale</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机所在的国家或地区，返回值格式为&#8220;en-US&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.platform</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机的品牌和型号，Nokia手机的返回值格式为&#8220;Nokia6310i/4.42&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.encoding</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机默认的字符集名称，返回值格式为&#8220;ISO-8859-1&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.commports</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机可以使用的串口列表，返回值中各个串口之间使用逗号分隔</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.hostname</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>MIDP2.0定义，代表本地主机名称，需要手机支持。</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.jtwi.version</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的JTWI版本，值必须是&#8220;1.0&#8221;</div>
            </td>
        </tr>
    </tbody>
</table>
</div>
<div align="center">&nbsp;表2&nbsp;可选包属性</div>
<div align="center">
<table style="border: medium none ; margin-left: 62.1pt; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0">
    <tbody>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div align="center">属性名称</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div align="center">属性作用</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.media.version</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的MMAPI版本，如果不支持则返回null</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.pim.version</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的PIM API版本，如果不支持则返回null</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.m3g.version</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的M3G API版本，如果不支持则返回null</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.location.version</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的Location API版本，如果不支持则返回null</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>Bluetooth.api.version</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的BT API版本，如果不支持则返回null</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.io.file.</div>
            <div>FileConnection.version</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的FC API版本，如果不支持则返回null</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.global.version</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的Mobile Internationalization API(JSR-238)版本，如果不支持则返回null</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.chapi.version</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的CH(Content Handler) API(JSR211)版本，如果不支持则返回null</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>microedition.sip.version</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的SIP API版本，如果不支持则返回null</div>
            </td>
        </tr>
    </tbody>
</table>
</div>
<div align="center">&nbsp;表3&nbsp;MMAPI属性</div>
<div align="center">
<table style="border: medium none ; margin-left: 62.1pt; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0">
    <tbody>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div align="center">属性名称</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div align="center">属性作用</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>supports.mixing</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机是否支持混音(同时播放多个Player)，返回值为&#8220;true&#8221;或&#8220;false&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>supports.audio.capture</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机是否支持声音捕获(录音)，返回值为&#8220;true&#8221;或&#8220;false&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>supports.video.capture</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机是否支持视频捕获(录像)，返回值为&#8220;true&#8221;或&#8220;false&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>supports.recording</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机是否支持记录(record)，返回值为&#8220;true&#8221;或&#8220;false&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>audio.encodings</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的声音格式，返回值格式为&#8220;encoding=audio/wav&#8221;，多个格式之间使用至少一个空格进行间隔</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>video.encodings</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的视频格式，返回值格式为&#8220;encoding=video/3gpp&#8221;，多个格式之间使用至少一个空格进行间隔</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>video.snapshot.encodings</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机使用getSnapshot方法获得的视频快照格式，返回值格式为&#8220;encoding=png&#8221;，多个格式之间使用至少一个空格进行间隔</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>streamable.contents</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机支持的流媒体格式，返回null代表不支持</div>
            </td>
        </tr>
    </tbody>
</table>
</div>
<div align="center">表4 Wireless Messaging API属性</div>
<div align="center">
<table style="border: medium none ; margin-left: 62.1pt; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0">
    <tbody>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div align="center">属性名称</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div align="center">属性作用</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 150.95pt;" valign="top" width="201">
            <div>wireless.messaging.<a href="http://www.sf.org.cn/Soft/gongDown/sms/Index.html"><font color="#000000">sms</font></a>.<a href="http://www.sf.org.cn/Soft/gongDown/sms/Index.html"><font color="#000000">sms</font></a>c</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 175.1pt;" valign="top" width="233">
            <div>代表手机发送短信时的短信服务中心号码</div>
            </td>
        </tr>
    </tbody>
</table>
</div>
<div align="center">表5 FileConnection API</div>
<div align="center">
<table style="border: medium none ; margin-left: 62.1pt; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0" height="1185" width="588">
    <tbody>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 151.55pt;" valign="top" width="202">
            <div align="center">属性名称</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 212.45pt;" valign="top" width="283">
            <div align="center">属性作用</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 151.55pt;" valign="top" width="202">
            <div>fileconn.dir.photos</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 212.45pt;" valign="top" width="283">
            <div>代表手机中存储照片和其它图片的目录，例如&#8220;file:///c:/My files/ Images /&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 151.55pt;" valign="top" width="202">
            <div>fileconn.dir.videos</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 212.45pt;" valign="top" width="283">
            <div>代表手机中存储视频的目录，例如&#8220;file:///c:/My files/Video clips/&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 151.55pt;" valign="top" width="202">
            <div>fileconn.dir.tones</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 212.45pt;" valign="top" width="283">
            <div>代表手机中存储声音的目录，例如&#8220;file:///c:/My files/Tones/&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 151.55pt;" valign="top" width="202">
            <div>fileconn.dir.memorycard</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 212.45pt;" valign="top" width="283">
            <div>代表手机中存储卡的根目录。例如&#8220;file:///d:/&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 151.55pt;" valign="top" width="202">
            <div>fileconn.dir.private <br />
            (Nokia S40不支持)&nbsp;</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 212.45pt;" valign="top" width="283">
            <div>代表手机中MIDlet的私有工作目录，例如&#8220;file:///c:/System/MIDlets/[1015f294]/scratch&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 151.55pt;" valign="top" width="202">
            <div>fileconn.dir.photos.name</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 212.45pt;" valign="top" width="283">
            <div>代表手机中图片目录的名称，例如&#8220;Images&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 151.55pt;" valign="top" width="202">
            <div>fileconn.dir.videos.name</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 212.45pt;" valign="top" width="283">
            <div>代表手机中视频目录的名称，例如&#8220;Video clips&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 151.55pt;" valign="top" width="202">
            <div>fileconn.dir.tones.name</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 212.45pt;" valign="top" width="283">
            <div>代表手机中声音目录的名称，例如&#8220;Sound clips&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 151.55pt;" valign="top" width="202">
            <div>file.separator</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 212.45pt;" valign="top" width="283">
            <div>代表手机中的文件分隔符，例如&#8220;/&#8221;</div>
            </td>
        </tr>
        <tr>
            <td style="padding: 0cm 5.4pt; width: 151.55pt;" valign="top" width="202">
            <div>fileconn.dir.memorycard.name</div>
            </td>
            <td style="padding: 0cm 5.4pt; width: 212.45pt;" valign="top" width="283">
            <div>代表手机中存储卡的名称，例如&#8220;Memory card&#8221;</div>
            </td>
        </tr>
    </tbody>
</table>
</div>
<div align="left">&nbsp;使用这些属性，可以获得在程序运行过程中需要的很多和系统相关的信息，也可以使用表2中的属性来获得手机是否支持对应的可选包等信息。<br />
实际使用示例：String name = System.getProperty(&#8220;microedition.platform&#8221;);<br />
<br />
注意：如果需要获得JVM或jad文件中的信息，需要使用MIDlet类中的getAppProperty方法，其属性名则需要查阅jad文件的设定，和本文所述的属性名无关。<br />
</div>
<img src ="http://www.blogjava.net/lukewange-hit1983/aggbug/225341.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lukewange-hit1983/" target="_blank">LukeW</a> 2008-08-28 16:43 <a href="http://www.blogjava.net/lukewange-hit1983/archive/2008/08/28/225341.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse真机调试J2me程序</title><link>http://www.blogjava.net/lukewange-hit1983/archive/2008/08/15/222266.html</link><dc:creator>LukeW</dc:creator><author>LukeW</author><pubDate>Fri, 15 Aug 2008 07:22:00 GMT</pubDate><guid>http://www.blogjava.net/lukewange-hit1983/archive/2008/08/15/222266.html</guid><wfw:comment>http://www.blogjava.net/lukewange-hit1983/comments/222266.html</wfw:comment><comments>http://www.blogjava.net/lukewange-hit1983/archive/2008/08/15/222266.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lukewange-hit1983/comments/commentRss/222266.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lukewange-hit1983/services/trackbacks/222266.html</trackback:ping><description><![CDATA[简单记录一下遇到的几个问题:<br />
<br />
1. 真机调试其实是厂商SDK根据JAVA的调试API层实现的. <br />
<br />
2. 要注意JAD文件中字段的长度不要过长, 否则会报错, 无法调试. <br />
<br />
3. 相比较, netbeans进行真机调试要方便一些. 当然eclipse应该也没问题(懒得实验了..).<br />
<img src ="http://www.blogjava.net/lukewange-hit1983/aggbug/222266.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lukewange-hit1983/" target="_blank">LukeW</a> 2008-08-15 15:22 <a href="http://www.blogjava.net/lukewange-hit1983/archive/2008/08/15/222266.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>