??xml version="1.0" encoding="utf-8" standalone="yes"?>一区二区成人在线视频,精品国产一区二区三区四区阿崩,av福利在线播放http://www.aygfsteel.com/konhon/category/3105.html忘掉過去Q展望未來。找回自我,越自我? <br> <b>逃避不一定躲的过, 面对不一定最难过, 孤单不一定不快乐, 得到不一定能长久, 失去不一定不再拥? 可能因ؓ(f)某个理由而伤?j)难q? 但我却能找个理由让自己快?</b><br><p> <!-- Search Google --> <left> <form method="get" action="http://www.google.com/custom" target="google_window"> <table> <tr><td nowrap="nowrap" valign="top" align="left" height="32"> <a > <img src="http://www.google.com/logos/Logo_25wht.gif" border="0" alt="Google" align="middle"></img></a> <input type="text" name="q" size="31" maxlength="255" value=""></input> <input type="submit" name="sa" value="搜烦(ch)"></input> <input type="hidden" name="client" value="pub-5408663347953425"></input> <input type="hidden" name="forid" value="1"></input> <input type="hidden" name="ie" value="UTF-8"></input> <input type="hidden" name="oe" value="UTF-8"></input> <input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1;"></input> <input type="hidden" name="hl" value="zh-CN"></input> </td></tr></table> </form> </left> <!-- Search Google --> zh-cnTue, 27 Feb 2007 11:03:39 GMTTue, 27 Feb 2007 11:03:39 GMT60J2me游戏~程http://www.aygfsteel.com/konhon/archive/2005/09/21/13679.htmlkonhon 优华konhon 优华Wed, 21 Sep 2005 12:31:00 GMThttp://www.aygfsteel.com/konhon/archive/2005/09/21/13679.htmlhttp://www.aygfsteel.com/konhon/comments/13679.htmlhttp://www.aygfsteel.com/konhon/archive/2005/09/21/13679.html#Feedback0http://www.aygfsteel.com/konhon/comments/commentRss/13679.htmlhttp://www.aygfsteel.com/konhon/services/trackbacks/13679.htmlJ2me游戏~程?sh)子?/A>
J2me游戏~程随书源码

konhon 优华 2005-09-21 20:31 发表评论
]]>
j2me中的~码技巧之提高性能http://www.aygfsteel.com/konhon/archive/2005/09/21/13641.htmlkonhon 优华konhon 优华Wed, 21 Sep 2005 08:00:00 GMThttp://www.aygfsteel.com/konhon/archive/2005/09/21/13641.htmlhttp://www.aygfsteel.com/konhon/comments/13641.htmlhttp://www.aygfsteel.com/konhon/archive/2005/09/21/13641.html#Feedback0http://www.aygfsteel.com/konhon/comments/commentRss/13641.htmlhttp://www.aygfsteel.com/konhon/services/trackbacks/13641.html1、用StringBuffer代替StringQ因为String对象不能被更改,M对String对象的更攚w是创Z个新的String对象?BR>2、直接存取类的变量比通过setter和getterҎ(gu)快?BR>3、用要地变量比使用cL实例变量更有效率?BR>4、用变量比使用数组更有准备准备效率?BR>5、避免在循环中进行同步,因ؓ(f)每一ơ@环都?x)有lock和unlock的过E,?x)严重?jing)响程序执行效率?BR>6、@环中倒数Q递减Q比正数Q递增Q要快?BR>7、用类gx+=1替代x=x+1Q因L(fng)成的代码?BR>8、删除@环中的常量运?BR>9、重复利用对象?BR>10、把不再使用的对象赋gؓ(f)nullQ特别是不再使用的thread?BR>11、尽量用内|的Ҏ(gu)。比如,惛_现将数据从一个数l拷贝到另一个数l的功能Q用用System.arrraycompy比自己创建新的方法的效率更有效率?/P>

konhon 优华 2005-09-21 16:00 发表评论
]]>
Java examples (example source code) http://www.aygfsteel.com/konhon/archive/2005/09/09/12500.htmlkonhon 优华konhon 优华Fri, 09 Sep 2005 00:37:00 GMThttp://www.aygfsteel.com/konhon/archive/2005/09/09/12500.htmlhttp://www.aygfsteel.com/konhon/comments/12500.htmlhttp://www.aygfsteel.com/konhon/archive/2005/09/09/12500.html#Feedback0http://www.aygfsteel.com/konhon/comments/commentRss/12500.htmlhttp://www.aygfsteel.com/konhon/services/trackbacks/12500.html
http://www.java2s.com/ExampleCode/J2ME/CatalogJ2ME.htm


konhon 优华 2005-09-09 08:37 发表评论
]]>
一個J2me程?/title><link>http://www.aygfsteel.com/konhon/archive/2005/09/07/12325.html</link><dc:creator>konhon 优华</dc:creator><author>konhon 优华</author><pubDate>Wed, 07 Sep 2005 08:42:00 GMT</pubDate><guid>http://www.aygfsteel.com/konhon/archive/2005/09/07/12325.html</guid><wfw:comment>http://www.aygfsteel.com/konhon/comments/12325.html</wfw:comment><comments>http://www.aygfsteel.com/konhon/archive/2005/09/07/12325.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/konhon/comments/commentRss/12325.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/konhon/services/trackbacks/12325.html</trackback:ping><description><![CDATA[為女朋友寫的一個小E序<BR>主要功能似"中英字典", 不中英對照需要自己錄入才?<BR><BR><A href="http://www.aygfsteel.com/konhon/konhon/Files/konhon/WordTip.rar">http://www.aygfsteel.com/Files/konhon/WordTip.rar</A><BR><BR>錄入完後供查?<BR>適用midp1.0的手?<BR><BR>軟g截圖:<BR><IMG height=423 alt=r_aa.JPG src="http://www.aygfsteel.com/images/blogjava_net/konhon/3260/r_aa.JPG" width=400 border=0><img src ="http://www.aygfsteel.com/konhon/aggbug/12325.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/konhon/" target="_blank">konhon 优华</a> 2005-09-07 16:42 <a href="http://www.aygfsteel.com/konhon/archive/2005/09/07/12325.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>J2ME中文问题的解x?/title><link>http://www.aygfsteel.com/konhon/archive/2005/09/05/12046.html</link><dc:creator>konhon 优华</dc:creator><author>konhon 优华</author><pubDate>Mon, 05 Sep 2005 08:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/konhon/archive/2005/09/05/12046.html</guid><wfw:comment>http://www.aygfsteel.com/konhon/comments/12046.html</wfw:comment><comments>http://www.aygfsteel.com/konhon/archive/2005/09/05/12046.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/konhon/comments/commentRss/12046.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/konhon/services/trackbacks/12046.html</trackback:ping><description><![CDATA[<STRONG><BR></STRONG>Java的中文问题通常?x)困扰很多开发者,你可能在开发Web应用E序的时候遇C文参数的传递问题,最后你可能选择使用Filter把Request的编码方式设|ؓ(f)GBK来解冟뀂在J2ME的开发中我们同样?x)遇C文问题,比如在RMS中存储中文、网l传输中传输中文、从文g中读取中文等问题?<BR> <P>    我们在解决中文问题的时候,用到的最多的一个词是UTF-8。我们知道ASCII码是单字节编码方式,可以解决英文的问题,但是中文的字库非常庞大,用ASSII码就难以解决?jin)。Java语言是支持UNICODE~码方式的,UNICODE是双字节的编码方式可以支持中文字库,但是q多带来一些浪费,因ؓ(f)q不是所有的字符串都是非英文字符的。UTF-8~码方式正好可以解决q个问题Q只有当字符不是ASSII码的时候他采用双字节来表示Q这样就节省?jin)空间。这里我只ȝ?jin)三UJ2ME常见的中文问题?/P><BR>|络传输中的中文问题<BR>    解决q个问题的关键是我们不采用InputStream或者OutputStream提供的方法按照字节来传递数据,而是把InputStream或者OutputStream装为DataInputStream和DataOutputStream。这h们就可以使用DataOutputStream中的writeUTF(String s)来送出数据?jin),同时可以使用DataInputStream提供的readUTF()来读入数据。注意在q两个方法搭配用的时候要注意序。比如我们在联网的时候可能写?gu)L(fng)代码<BR>   <BR>    客户?BR>  dos.writeInt(myint);<BR>    dos.writeByte(mybyte);<BR>    dos.writeUTF(myString);<BR><BR>    服务器端<BR>    int i = dis.readInt();<BR>    byte b = dis.readByte();<BR>    String s = dis.readUTF();  <BR>RMS持久性存储的中文问题<BR>    ׃RMS中的数据存储都是按照byte[]的格式存储的Q因此我们需要稍微变化一下,但是基本上还是走UTF-8的思\?BR>    <BR>    写入数据<BR>    ByteArrayOutputStream baos = new ByteArrayOutputStream();<BR>    DataOutputStream dos = new DataOutputStream(baos);<BR>    dos.writeUTF(myString);<BR>    byte[] data = baos.toByteArray();<BR>    rs.addRecord(data,0,data.length);<BR><BR>    d数据<BR>    byte[] data = rs.getRecord(index);<BR>    ByteArrayInputStream bais = new ByteArrayInputStream(data);<BR>    DataInputStream dis = new DataInputStream(bais);<BR>    String myString = dis.readUTF(); <BR>d中文文g的问?BR>在MIDP中ƈ不支持文件系l,但是我们可以djar包中的文件。如果文件中含有中文Q那么我们需要进行一些特D的处理Q首先我们用UE或者Notepad工具把相关的文g转换文UTF-8格式~码。我们在d文g的时候需要进行如下的单处理。下面是处理函数?BR><BR>    public String readFromFile(String fileName)<BR>    {<BR>        String returnString = null;<BR>        InputStream is = getClass().getResourceAsStream(fileName);<BR>        if (is != null)<BR>        {<BR>            ByteArrayOutputStream baos = new ByteArrayOutputStream();<BR>            int ch = 0;<BR>            try<BR>            {<BR>                while ((ch = is.read()) != -1)<BR>                {<BR>                    baos.write(ch);<BR>                }<BR>                byte[] data = baos.toByteArray();<BR>                returnString = new String(data, "UTF-8");<BR>                is.close();<BR>                baos.close();<BR> <P>            } catch (IOException e)<BR>            {<BR>                e.printStackTrace();<BR>            }<BR>        }<BR>        return returnString;<BR>    }<BR></P><img src ="http://www.aygfsteel.com/konhon/aggbug/12046.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/konhon/" target="_blank">konhon 优华</a> 2005-09-05 16:11 <a href="http://www.aygfsteel.com/konhon/archive/2005/09/05/12046.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何学好J2MEhttp://www.aygfsteel.com/konhon/archive/2005/09/05/12044.htmlkonhon 优华konhon 优华Mon, 05 Sep 2005 08:04:00 GMThttp://www.aygfsteel.com/konhon/archive/2005/09/05/12044.htmlhttp://www.aygfsteel.com/konhon/comments/12044.htmlhttp://www.aygfsteel.com/konhon/archive/2005/09/05/12044.html#Feedback0http://www.aygfsteel.com/konhon/comments/commentRss/12044.htmlhttp://www.aygfsteel.com/konhon/services/trackbacks/12044.html
  • 具备良好的java语言基础Q不要还没有学习(fn)java语言拿起一本J2ME的书来看。这h果ƈ不好Q相反如果你有良好的java语言基础的话QJ2ME显得比较容易掌握!

  • 如果你决定开始学?fn)J2ME?jin),那么首先你应该清楚J2ME的体pȝ构是什么样的。当你真正清楚了(jin)Configuration和Profile的关pR了(jin)解了(jin)CDC和CLDC的区别后Q那么你可以开始编写自qHelloWorldMIDlet?

  • 选择优秀的开发环境,J2ME的开发环境比较灵zR我推荐使用Eclipse和EclipseME插g。因为Eclipse的插仉怸富且灉|Q当你开发联|应用程序的时候安装Lomboz可以了(jin)。当然你也可以选择Jbuilder{IDEQ但是不推荐C本!

  • 在编写代码之前,应该多读一下好的代码。毕竟MIDlet的写法和一般的java Application不是很一栗推荐WTK中的DemoE序?

  • MIDP的API doc比较?yu),每个cȝҎ(gu)也很。如果有旉的话Q每天看?-5个。这?x)对你帮助很大。毕竟它的API和J2SE的ƈ不一P只是它的子集Q不应该惛_然的使用?

  • 清楚MIDP中高UUI和低UUIcȝ使用和区别,在你做用L(fng)面的之前Q思考好什么符合你的要求,推荐使用高U(ku)IQ这h单、可UL性更好。但是需要用Canvas的时候不要犹豫,大胆使用Q清楚高U事件和低事g处理的机制?

  • 在开发应用程序的时候尽量用MVC模式Q这h展性出艌Ӏ?BR>
  • d掌握Record Management SystemQ这是MIDP的一个重要子集。实现数据持久性存储不可缺的pȝ。善于用RecordFilter和RecordEnumeration来简化RMS的操作,在我的blog里面有一pd的关于RMS的文章,有时间就看看吧!

  • 重视U程Q如果你q不真正清楚U程的时候的话,那么赶快找资料看看吧。在J2ME的开发中Q这非常的重要。具备了(jin)联网的能力则l你的应用程序插上了(jin)膀Q而联|的时候ؓ(f)?jin)避免堵塞一定要使用多线E技术?

  • 时刻x最新的技术,比如PIMQBlueTooth{都在慢慢的得到支持。你可以使用WTK2.2开发相关的E序?jin)?

  • 掌握Java中文问题Q在J2ME中这个问题更加突出。你应该把你的应用程序放到手ZL试这个问题而不是在模拟器上?

  • IO不用我说你也必须清楚Q在J2ME中提供的IO包中Q类比较?yu)你更应该注意?BR>
  • 不要因ؓ(f)听说手机资源受限Q在写程序的时候就虑重重Q不要牺牲代码的可读性和可维护性,但是也不能ؕ用。这个时候你的java语言的基起到?jin)重要的作用Q?

  • 如果惛_发游戏,那么你应该多ȝ关的书籍。我q里一本J2ME游戏开发的书籍Q电(sh)子版).想看的话可以email联系?http://javap2p.nease.net/book/j2me_gamingbook_pdf.zip

  • 如果有些问题想了(jin)很久都没有明白的话,可以到论坛上去问问,但是不要一有问题就问,自己思考后得到正确{案效果更好。或者把问题放下几天Q也许自然而然明白了(jin)Q不是胡说?

  • 多写代码!多多ȝQ简单的八个字,非常重要:)


  • konhon 优华 2005-09-05 16:04 发表评论
    ]]>
    j2me--RecordStorehttp://www.aygfsteel.com/konhon/archive/2005/09/02/11841.htmlkonhon 优华konhon 优华Fri, 02 Sep 2005 07:21:00 GMThttp://www.aygfsteel.com/konhon/archive/2005/09/02/11841.htmlhttp://www.aygfsteel.com/konhon/comments/11841.htmlhttp://www.aygfsteel.com/konhon/archive/2005/09/02/11841.html#Feedback0http://www.aygfsteel.com/konhon/comments/commentRss/11841.htmlhttp://www.aygfsteel.com/konhon/services/trackbacks/11841.html在此我們要借助四個類別的協助Q他們分別是Q?BR>ByteArrayOutputStream、ByteArrayInputStream?BR>DataOutputStream、DataInputStream?BR>
    轉換例子如下:
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;

    public class FriendData {
        String name;

        String tel;

        boolean sex;

        
    int age;

        
    public FriendData() {
            name 
    = "NO NAME";
            tel 
    = "NO TEL";
            sex 
    = false;
            age 
    = 0;
        }


        
    public byte[] encode() {
            
    byte[] result = null;
            
    try {
                ByteArrayOutputStream bos 
    = new ByteArrayOutputStream();
                DataOutputStream dos 
    = new DataOutputStream(bos);
                dos.writeUTF(name);
                dos.writeUTF(tel);
                dos.writeBoolean(sex);
                dos.writeInt(age);
                result 
    = bos.toByteArray();
                dos.close();
                bos.close();
            }
     catch (Exception e) {
            }

            
    return result;
        }


        
    public void decode(byte[] data) {
            
    try {
                ByteArrayInputStream bis 
    = new ByteArrayInputStream(data);
                DataInputStream dis 
    = new DataInputStream(bis);
                name 
    = dis.readUTF();
                tel 
    = dis.readUTF();
                sex 
    = dis.readBoolean();
                age 
    = dis.readInt();
                dis.close();
                bis.close();
            }
     catch (Exception e) {
            }

        }

    }



    konhon 优华 2005-09-02 15:21 发表评论
    ]]>
    在J2me中的按鍵處理http://www.aygfsteel.com/konhon/archive/2005/09/01/11768.htmlkonhon 优华konhon 优华Thu, 01 Sep 2005 09:19:00 GMThttp://www.aygfsteel.com/konhon/archive/2005/09/01/11768.htmlhttp://www.aygfsteel.com/konhon/comments/11768.htmlhttp://www.aygfsteel.com/konhon/archive/2005/09/01/11768.html#Feedback0http://www.aygfsteel.com/konhon/comments/commentRss/11768.htmlhttp://www.aygfsteel.com/konhon/services/trackbacks/11768.html
    import javax.microedition.lcdui.Canvas;
    import javax.microedition.lcdui.Display;
    import javax.microedition.lcdui.Graphics;
    import javax.microedition.midlet.MIDlet;
    import javax.microedition.midlet.MIDletStateChangeException;

    public class LLEventMIDlet extends MIDlet {
        
    private Display display;

        
    public LLEventMIDlet() {
            super();
            display 
    = Display.getDisplay(this);
            
    // TODO Auto-generated constructor stub
        }


        
    protected void startApp() throws MIDletStateChangeException {
            
    // TODO Auto-generated method stub
            MyCanvas mc = new MyCanvas();
            display.setCurrent(mc);
        }


        
    protected void pauseApp() {
            
    // TODO Auto-generated method stub

        }


        
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
            
    // TODO Auto-generated method stub

        }


        
    private class MyCanvas extends Canvas {
            String action 
    = "";

            
    public void paint(Graphics g) {
                g.setColor(
    255255255);
                g.fillRect(
    00, getWidth(), getHeight());
                g.setColor(
    000);
                
    if (hasRepeatEvents()) {
                    g.drawString(
    "Repeat"10100);
                }
     else {
                    g.drawString(
    "NonRepeat"10100);
                }

                g.drawString(action, 
    10200);
            }

            
    protected void keyPressed(int keyCode){
                action 
    = "KP: " + (char)keyCode;
                repaint();
            }

            
    protected void keyReleased(int keyCode){
                action 
    = "KR: " + (char)keyCode;
                repaint();
            }

            
    protected void keyRepeated(int keyCode){
                action 
    = "KRe: " + (char)keyCode;
                repaint();
            }

        }


    }



    在MIDP 1.0 規格中,Canvas 別裡頭定義?jin)幾個常數,他們分
    別是Q?KEY_NUM0 、KEY_NUM1 、KEY_NUM2 、KEY_NUM3 、KEY_NUM4 、KEY_NUM5 、KEY_NUM6 、KEY_NUM7 、KEY_ NUM8 、KEY_NUM9 、KEY_STAR、KEY_POUND ?1 個,分別代表0~9 的數字鍵、星號鍵、以?qing)井號鍵。我們可以利用這幾個常數判定鍵盤(按鈕Q事件處理函式所傳進來的keyCodeQ藉以了(jin)解哪個按鈕被按下?jin),當然Q除?jin)這些按鍵之外Q其他的按鍵也會有其應|(zhn)必須自己嘗試找ZQ但是為?jin)可以跨q_Q徏議?zhn)僅只使用這些標準的定鍵?BR>
    Z(jin)Game a計師的方便QMIDP 1.0 規格中,Canvas 別裡頭定義?jin)幾個與Game 늛代碼盔R的常數,他們分別是UP、DOWN、LEFT、RIGHT、FIRE、GAME_A、GAME_B、GAME_C、GAME_D。這些定義雖然很可能會和之前的定義有所重複Q但是因為有?jin)一層抽象性,在移植的時候也方便多?jin)?BR>
    那麼Q在E式裡頭該如何處理呢? Canvas 裡頭提供?jin)兩個函?
    1. getGameAction() 􀂌 傛_keyCodeQ函式會回傳所代表?BR>Game 늛代碼?BR>用法如下Q?BR>
    public void keyPressed(int keyCode)
    {
    switch(getGameAction(keyCode))
    {
    case Canvas.LEFT:
    moveLeft() ;
    break ;
    case Canvas.FIRE:
    fire() ;
    break ;
    ?IMG src="http://www.aygfsteel.com/images/dot.gif">
    }

    }


    2. getKeyCode() 􀂌 傛_Game 늛代碼Q函式會回傳所代表?BR>keyCode?BR>用法如下Q?BR>
    public void keyPressed(int keyCode)
    {
    if(keyCode == getKeyCode(Canvas.LEFT))
    {
    moveLeft() ;
    }
    else if(keyCode == getKeyCode(Canvas.FIRE))
    {
    fire() ;
    }

    ?IMG src="http://www.aygfsteel.com/images/dot.gif">
    }
    任選M一E方法,都可以達到跨q_的目的?img src ="http://www.aygfsteel.com/konhon/aggbug/11768.html" width = "1" height = "1" />

    konhon 优华 2005-09-01 17:19 发表评论
    ]]>
    j2me中Command出現的優先順?/title><link>http://www.aygfsteel.com/konhon/archive/2005/09/01/11764.html</link><dc:creator>konhon 优华</dc:creator><author>konhon 优华</author><pubDate>Thu, 01 Sep 2005 08:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/konhon/archive/2005/09/01/11764.html</guid><wfw:comment>http://www.aygfsteel.com/konhon/comments/11764.html</wfw:comment><comments>http://www.aygfsteel.com/konhon/archive/2005/09/01/11764.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/konhon/comments/commentRss/11764.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/konhon/services/trackbacks/11764.html</trackback:ping><description><![CDATA[其實這是有一套規格可循的。規則如下:(x)<BR><BR>1. 先比較每個Command 物g的命令型態,優先順序高的越先出現?BR>在Command 物g之中共定了(jin)八種命o(h)型態Q從優先順序最高到最低列表如下:(x)<BR><STRONG>Command.BACK<BR>Command.CANCEL<BR>Command.EXIT<BR>Command.HELP<BR>Command.ITEM<BR>Command.OK<BR>Command.SCREEN<BR>Command.STOP</STRONG><BR><BR>2. 如果命o(h)型態相同Q就比較其優先權Q設定D低的先出現?BR><BR>3. 如果優先Ɗ相同,׃利用addCommand()加入畫面的先後順序決定?BR><img src ="http://www.aygfsteel.com/konhon/aggbug/11764.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/konhon/" target="_blank">konhon 优华</a> 2005-09-01 16:10 <a href="http://www.aygfsteel.com/konhon/archive/2005/09/01/11764.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>native2ascii详解http://www.aygfsteel.com/konhon/archive/2005/09/01/11755.htmlkonhon 优华konhon 优华Thu, 01 Sep 2005 07:10:00 GMThttp://www.aygfsteel.com/konhon/archive/2005/09/01/11755.htmlhttp://www.aygfsteel.com/konhon/comments/11755.htmlhttp://www.aygfsteel.com/konhon/archive/2005/09/01/11755.html#Feedback0http://www.aygfsteel.com/konhon/comments/commentRss/11755.htmlhttp://www.aygfsteel.com/konhon/services/trackbacks/11755.html
    转蝲自:(x)www.csdn.net

    javaE序昄中文是大安遇到q的问题Q尤其是JAD文g的中文问题,一般都用native2ascii工具转换Q这里收藏了(jin)native2ascii工具的详l说明:(x)


    native2ascii - Native-to-ASCII Converter
    Converts a file with native-encoded characters (characters which are non-Latin 1 and non-Unicode) to one with Unicode-encoded characters. 
    SYNOPSIS
    native2ascii [options] [inputfile [outputfile]]

    DESCRIPTION
    The Java compiler and other Java tools can only process files which contain Latin-1 and/or Unicode-encoded (\udddd notation) characters. native2ascii converts files which contain other
     character encodings into files containing Latin-1 and/or Unicode-encoded charaters. 
    If outputfile is omitted, standard output is used for output. If, in addition, inputfile is 
    omitted, standard input is used for input. 

    OPTIONS
    -reverse 
    Perform the reverse operation: convert a file with Latin-1 and/or Unicode encoded characters to one with native-encoded characters. 


    -encoding encoding_name 
    Specify the encoding name which is used by the conversion procedure. 
    The default encoding is taken from System property file.encoding. 
    The encoding_name string must be a string taken from the first column of the table 
    below. 


    -------------------------------------------------------------

    Converter        Description
    Class
    -------------------------------------------------------------

    8859_1           ISO 8859-1
    8859_2           ISO 8859-2
    8859_3           ISO 8859-3
    8859_4           ISO 8859-4
    8859_5           ISO 8859-5
    8859_6           ISO 8859-6
    8859_7           ISO 8859-7
    8859_8           ISO 8859-8
    8859_9           ISO 8859-9
    Big5             Big5, Traditional Chinese
    CNS11643         CNS 11643, Traditional Chinese
    Cp037            USA, Canada(Bilingual, French), Netherlands,
                                   Portugal, Brazil, Australia
    Cp1006           IBM AIX Pakistan (Urdu)
    Cp1025           IBM Multilingual Cyrillic: Bulgaria, Bosnia,
                                   Herzegovinia, Macedonia(FYR)
    Cp1026           IBM Latin-5, Turkey
    Cp1046           IBM Open Edition US EBCDIC
    Cp1097           IBM Iran(Farsi)/Persian
    Cp1098           IBM Iran(Farsi)/Persian (PC)
    Cp1112           IBM Latvia, Lithuania
    Cp1122           IBM Estonia
    Cp1123           IBM Ukraine
    Cp1124           IBM AIX Ukraine
    Cp1125           IBM Ukraine (PC)
    Cp1250           Windows Eastern European
    Cp1251           Windows Cyrillic
    Cp1252           Windows Latin-1
    Cp1253           Windows Greek
    Cp1254           Windows Turkish
    Cp1255           Windows Hebrew
    Cp1256           Windows Arabic
    Cp1257           Windows Baltic
    Cp1258           Windows Vietnamese
    Cp1381           IBM OS/2, DOS People's Republic of China (PRC)
    Cp1383           IBM AIX People's Republic of China (PRC)
    Cp273            IBM Austria, Germany
    Cp277            IBM Denmark, Norway
    Cp278            IBM Finland, Sweden
    Cp280            IBM Italy
    Cp284            IBM Catalan/Spain, Spanish Latin America
    Cp285            IBM United Kingdom, Ireland
    Cp297            IBM France
    Cp33722          IBM-eucJP - Japanese (superset of 5050)
    Cp420            IBM Arabic
    Cp424            IBM Hebrew
    Cp437            MS-DOS United States, Australia, New Zealand,
                                   South Africa
    Cp500            EBCDIC 500V1
    Cp737            PC Greek
    Cp775            PC Baltic
    Cp838            IBM Thailand extended SBCS
    Cp850            MS-DOS Latin-1
    Cp852            MS-DOS Latin-2
    Cp855            IBM Cyrillic
    Cp857            IBM Turkish
    Cp860            MS-DOS Portuguese
    Cp861            MS-DOS Icelandic
    Cp862            PC Hebrew
    Cp863            MS-DOS Canadian French
    Cp864            PC Arabic
    Cp865            MS-DOS Nordic
    Cp866            MS-DOS Russian
    Cp868            MS-DOS Pakistan
    Cp869            IBM Modern Greek
    Cp870            IBM Multilingual Latin-2
    Cp871            IBM Iceland
    Cp874            IBM Thai
    Cp875            IBM Greek
    Cp918            IBM Pakistan(Urdu)
    Cp921            IBM Latvia, Lithuania (AIX, DOS)
    Cp922            IBM Estonia (AIX, DOS)
    Cp930            Japanese Katakana-Kanji mixed with 4370 UDC,
                                   superset of 5026
    Cp933            Korean Mixed with 1880 UDC, superset of 5029
    Cp935            Simplified Chinese Host mixed with 1880 UDC,
                                   superset of 5031
    Cp937            Traditional Chinese Host miexed with 6204 UDC,
                                   superset of 5033
    Cp939            Japanese Latin Kanji mixed with 4370 UDC,
                                   superset of 5035
    Cp942            Japanese (OS/2) superset of 932
    Cp948            OS/2 Chinese (Taiwan) superset of 938
    Cp949            PC Korean
    Cp950            PC Chinese (Hong Kong, Taiwan)
    Cp964            AIX Chinese (Taiwan)
    Cp970            AIX Korean
    EUCJIS           JIS, EUC Encoding, Japanese
    GB2312           GB2312, EUC encoding, Simplified Chinese
    GBK              GBK, Simplified Chinese
    ISO2022CN        ISO 2022 CN, Chinese
    ISO2022CN_CNS    CNS 11643 in ISO-2022-CN form, T. Chinese
    ISO2022CN_GB     GB 2312 in ISO-2022-CN form, S. Chinese
    ISO2022KR        ISO 2022 KR, Korean
    JIS              JIS, Japanese
    JIS0208          JIS 0208, Japanese
    KOI8_R           KOI8-R, Russian
    KSC5601          KS C 5601, Korean
    MS874            Windows Thai
    MacArabic        Macintosh Arabic
    MacCentralEurope Macintosh Latin-2
    MacCroatian      Macintosh Croatian
    MacCyrillic      Macintosh Cyrillic
    MacDingbat       Macintosh Dingbat
    MacGreek         Macintosh Greek
    MacHebrew        Macintosh Hebrew
    MacIceland       Macintosh Iceland
    MacRoman         Macintosh Roman
    MacRomania       Macintosh Romania
    MacSymbol        Macintosh Symbol
    MacThai          Macintosh Thai
    MacTurkish       Macintosh Turkish
    MacUkraine       Macintosh Ukraine
    SJIS             Shift-JIS, Japanese
    UTF8             UTF-8


    不过WTK可以直接解决JAD的中文问题:(x)
        settings>MidLets>MidLet-1属性改成你惌昄的中文后重新生成JAD和JAR文g卛_?BR>

    konhon 优华 2005-09-01 15:10 发表评论
    ]]>
    j2me内存优化http://www.aygfsteel.com/konhon/archive/2005/09/01/11700.htmlkonhon 优华konhon 优华Thu, 01 Sep 2005 00:10:00 GMThttp://www.aygfsteel.com/konhon/archive/2005/09/01/11700.htmlhttp://www.aygfsteel.com/konhon/comments/11700.htmlhttp://www.aygfsteel.com/konhon/archive/2005/09/01/11700.html#Feedback0http://www.aygfsteel.com/konhon/comments/commentRss/11700.htmlhttp://www.aygfsteel.com/konhon/services/trackbacks/11700.html
    一Q代码优?/B>
    内存?x)溢(gu)定和代码逃不?jin)关p?99.99%学java的h都知道垃圑֛收器是java的一大优点ƈ据此来嘲WC++。显然这个特性ؓ(f)代码~写者省?jin)不事Q但q个Ҏ(gu)却带来?jin)不隐?zhn)。D个例子在游戏当中l常有不同场景的切换Q如从游戏逻辑退C菜单逻辑,Ҏ(gu)戏逻辑对象的态度很多Z(x)选择忘记{待垃圾回收器来收尸^_^。乍看之下似乎ƈ无不妥垃圑֛收器?x)来善后。实际上垃圾回收器ƈ非实时的,它不像C++的Delete语句马上释放不用的内存。当从游戏逻辑切换C菜单逻辑q时两个对象同时存在很可能这时内存就不够用了(jin)。读到这里很多h?x)发现实际上垃圾回收器在j2me上ƈ不怎么好用Q从一个角度上来讲在j2me上所有垃圑ֿȝ手工释放,除简单类型以外所有对象都必须昑ּ地置IZ?imgs=null; 实际上java提供?jin)一个不错的工具用来查找内存溢出,java.lang.Runtime.freeMemory() 。它可以q回当前的剩余内存数Q将它适当的安攑֜代码中可以有效的监测内存使用状况。很大一部䆾的j2meE序员之前都是从事pc软g开发工作,充裕的内存掩盖了(jin)许多写代码的不良?fn)惯。如下所C?
    //a 不ؓ(f)I?BR>a=new Logic();
    很多人可能对此有异议Q他们会(x)认ؓ(f)新的对象?x)把旧的对象冲掉q且释放内存。这里面包含两个问题Q?. 该段代码是先创徏对象然后再进行赋值操作的Q也是说在q期间有两个对象同时存在q就很可能会(x)产生溢出?. q样做也?x)妨垃圑֛收器的工?BR>较好的写法如?
    a=null;
    a=new Logic();
    虽然ȝ(ch)?jin)点但在j2me中还是必要的。接着看下例?BR>drawString("游戏旉:" + time ,50,50,Graphics.LEFT|Graphics.TOP);
    "游戏旉:" + time 很完在paint()Ҏ(gu)当中每次都被刷一遍显C在屏幕上。危机往往隐藏在美丽的外表Q该语句?x)引h的内存重新分配来存储 "游戏旉:" + time 而显C完以后又必ȝ垃圾回收器释放,用了(jin)双倍时?q且Ҏ(gu)发生内存溢出。依此类推在重复执行的方法里应尽量避免重复定义对象。与paint()Ҏ(gu)cM在@环里也有cM的情况存在?
    把所有对象的初始化放在构造函数里惛_是再正当不过?大多Ch通常的做法是把当前逻辑所要用到的资源通通初始化完毕?BR>很大一部䆾的内存溢出都是发生在构造函C。内存用的高峰期都是在构造函C所以避开q个高峰能有效的防止溢出。徏议最好的办法是第一ơ用时初始化。如下所C?BR>if (img==null){
    //初始?BR>}
    现在做游戏很多时候都需要地图数l,声音数组Q还有一些其它资源这些资源很多可以放在代码中也有的可以放在文件当中?BR>强烈这些资源放在文件中需要时在loadq来。这些资源文件如果放在代码中则会(x)占用不小的代码段I间Q而代码一般是E序一q行p载到内存当中?BR>除上面列丄Ҏ(gu)外还有一些大家所熟知的顺便一? 比如关闭没用的rms Q关闭没用的|络q接Q关闭没用的。正地停止U程。良好的E序架构减少代码偶合性也是一个不错的Ҏ(gu)Q无论在代码调式Q内存释N可以做到非常清析?BR>
    ? 囄优化
    j2me的内存杀手无疑非囄莫属,一?k的图片可以占?0多k的内存不信大家把load前后的内存剩余打印出来对比看看。所以防止内存溢出最直接的办法就是从囄入手?BR>1Q图片压~? 多数人马上会(x)惛_q个办法。不错这个办法是最有效的。在photoshop里图片制作完成后不要选择 "存储?Q而是选择 "存储?web 所用格? 可以Ҏ(gu)里面的选项q行压羃Q特别是颜色q一越越好不q相应的囑փ?x)有所q。不要认样就完了(jin)?BR>实际上该囄q可以再ơ压~,在网上有许多cM的工兗推荐一Ƒ֏以压~png格式的Y?xat.com Image Optimizer 效果不错。经帔R?70% 的压~率且图像不?x)失真?BR>假如你有多张规格一L(fng)囄Q那么徏议你把它做成一张长条图片。有两个原因Q?
    1?q样节省存储I间和内存空间。大家可做个试验?0张图片的内容攑֜一张当中对比看看文件大有没有变化?BR>2 ?0张图片需?0个image 对象需要进?0ơio操作费旉不说q浪费内存。当W者发现这个好处时兴奋地把所有图片都存成一张,吱地一声内存又溢出?..原因惛_大家也知?Q图片太大了(jin)不要把不同界面的囄整合在一起否则经怼(x)得不偿失?BR>作图时还有一些细节需要注?颜色数量Q分辩率Q图像模式(最好是索引颜色),d大小都会(x)影响到图片大?BR>
    三. 工具优化
    谁都知道h器是用来保护代码的以加大反编译的隑ֺ(个h认ؓ(f)q是在嘲W程序员的智商)(j)。实际上用它来优化程序也是不错的选择Q至有两点好处Q??压羃E序大小。一?0k的程序经常可以压?0k左右?0k的空间对于写低端手机的程序员直是雪中送碳Q多超q?4k限制的游戏都受过它的恩惠Q?、节省内存空间。用脚去想也惛_出来代码了(jin)内存里的代码D自然就短了(jin)?BR>Ҏ(gu)l验很多人都?x)用jb自带的؜淆器RetroGuardQ实际上它效果ƈ不怎么好。推荐用proguard ?http://sf.net 可以免费下蝲Q它可以比retroguard 多压~?? k 以上而且安全性更好?BR>

    konhon 优华 2005-09-01 08:10 发表评论
    ]]>
    J2mehttp://www.aygfsteel.com/konhon/archive/2005/09/01/11699.htmlkonhon 优华konhon 优华Thu, 01 Sep 2005 00:09:00 GMThttp://www.aygfsteel.com/konhon/archive/2005/09/01/11699.htmlhttp://www.aygfsteel.com/konhon/comments/11699.htmlhttp://www.aygfsteel.com/konhon/archive/2005/09/01/11699.html#Feedback0http://www.aygfsteel.com/konhon/comments/commentRss/11699.htmlhttp://www.aygfsteel.com/konhon/services/trackbacks/11699.html昨天在網上看到有關J2me的開? 便想試試.於是下載(j)?jin)開發工?
    eclipse 3.0.1, eclipseme0.4.0安裝一切正?

    安裝後便依照E上寫了(jin)一個HelloWorldE序, 運行,怪事Z? 模似器一?馬上又自動關閉啦. 看不到效?

    今天早上反把eclipse換成3.1? eclipseme換成1.1.0? 再試? 問題居然解決? 郁?zhn)呀, Java這東西老是怪問? 而且大多敔R版本不兼Ҏ(gu)引v? 開源這東襉K然好, 可是這開源程序之間的兼容可是個大問題.



    konhon 优华 2005-09-01 08:09 发表评论
    ]]>
    վ֩ģ壺 | | | | | | | γ| ڳ| ˮ| ƽ| Ԫ| | | | лͨ| | Ž| | | ɽ| | ɽ| | ׷| | | | Ӽ| | | ľ| | ʳ| | Ϫ| | ߺ| ֺ| | |