norains的专栏

只专注于WINCE开发

用户操作
[即时聊天] [发私信] [加为好友]
norainsID:norains
142878次访问,排名598,好友0人,关注者53人。
代码其实是一种乐趣
norains的文章
原创 189 篇
翻译 0 篇
转载 10 篇
评论 274 篇
norains的公告
联系方式请看置顶文章
最近评论
dfdf:讨厌MFC!我觉得MFC就是太乱了!看似无用的代码不要不行,MD微软啥都给我们做完了,原理性的东西我们却永远没法搞懂了!
ironox:有个地方 我觉得很别扭,不知道怎么办好

比如说 CReg reg(HKEY_CURRENT_USER,TEXT("ControlPanel\Volume"));
ControlPanel\Volume 有可能不存在呀,这个该怎么处理哦?对象虽然创建了,出错了也没提示
szterry:呵呵,果然工作狂技术狂,同感,一样的感觉……不过我才刚毕业一年……搞IT就是玩……
jinlking:这个botton的实现只是在主窗口画了一块区域,对于事件的处理还要放在主窗口的窗口处理函数之中,在对应的消息处理上调用CheckTap来判断是否是此“按钮”,问一下,这种方法与把按钮封装在子窗口中有什么区别,二者使用那个更好?
KUODY:博主真是好人
文章分类
收藏
    相册
    动漫
    文章图片
    程序交流
    xumercury的BLOG
    狗友们的博客
    清蒸石斑鱼
    美女如刀锋
    茁茁的BLOG
    魅力老姐的窝
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 西门子C65开发手札收藏

    新一篇: 求职,让我无奈! | 

        自己给西门子C65也写过一段时间程序,其中也发现很莫名其妙的问题,找遍N个网站,才发现开发西门子手机软件的实在是少得可怜……唉,也只能怨西门子不争气吧!
    在这里写一些自己开发中遇到的问题,也算是给西机的开发FANS做些参考吧!

    1.不支持GameCanvas.getState()
        虽然西门子C65号称支持CLDC1.1和MIDP2.0,其实是没有完全实现的。其中GameCanvas.getState()就是一例子,如果在编程中采用getState()方法,将会出现意想不到的结果,因为无论如何,getState()返回的永远是0值,而不是键位值。
        可以用下面这个类做测试:
    import javax.microedition.lcdui.game.GameCanvas;
    import javax.microedition.lcdui.*;
    public class myGameCanvas extends GameCanvas
    {
     Graphics g=getGraphics();
     public myGameCanvas()
     {
      super(false);
     }
     protected void keyPressed(int keyCode)
     {
      int keyState=this.getKeyStates();
      if(keyState!=0)
      {
       g.setColor(0,0,0);
       g.fillRect(0,0,this.getWidth(),this.getHeight());
       g.setColor(255,255,0);
       g.drawString("keyCode"+Integer.toString(keyCode),20,20,0);
       g.drawString("keyState "+Integer.toString(keyState),20,40,0);
      }
      else
      {
       g.setColor(0,0,0);
       g.fillRect(0,0,this.getWidth(),this.getHeight());
       g.setColor(255,255,0);
       g.drawString("keyCode "+Integer.toString(keyCode),20,20,0);
       g.drawString("keyState "+Integer.toString(keyState),20,40,0);
      }
      this.setFullScreenMode(true);
      flushGraphics();
     }
    }

    2.文件名大小写
        西门子的实体机子对文件名区分大小写,比如"a.PNG"和"a.png"是不同的文件,但在windows的模拟器下是同一个文件。这会造成一个结果就是,明明在模拟器中顺利读出了图片,但在实机中就是抛出异常!

    3.模拟器不支持media.*
       这应该是模拟器的不完善,凡是涉及到media.*的都会提示“JAVA ERRO”!但是在实体机上一切运行正常。所以打算在软件中播放声音的朋友,还是要到实体机中去尝试,说不定很多问题就迎刃而解。
    例如,此段代码在模拟器中出错,但在实体机中正常通过:
    try
      {
       InputStream in = getClass().getResourceAsStream("/res/music"+stageNum+".mid");
       player = Manager.createPlayer(in,"audio/midi");
       player.setLoopCount(4);
       player.start();
      }
      catch(IOException e){}
      catch(MediaException e){}

    4.模拟器不支持RMS
       不知道为什么,模拟器一直不支持RMS,总之解决方法也只能用WTK自带的模拟器测试是否正常,或是直接拷贝到手机上测试了。

    发表于 @ 2005年09月09日 16:13:00|评论(loading...)|编辑

    新一篇: 求职,让我无奈! | 

    评论

    #hoverlees 发表于2007-05-08 20:45:20  IP: 222.191.187.*
    西门子的软件是很多的哦!西门子C65的确不支持GameCanvas的getKeyStates方法,主要是不连续.这也是我头痛的问题呢.呵呵,只能用Canvas类了.
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © norains