各种兼容手机在开发j2me-MIDlet程序时,程序员应当知道的一些问题

作者:雷神
QQ:     38929568
QQ群:28048051(满) 28047782(将满)

项目中总结出来的一些不太容易发现,却影响程序开发的一些小经验,如果你正好遇到这些问题了,那就不用
再找原因了!



1.LENOVO--V800,CPU速度比一般手机慢5倍左右!

2.LG,C1100兼容手机,在读文件时候,文件不宜过大,否则读取失败!

3.LG,KP202兼容手机,在单Player播放声音时候,如果出现死机,请查看停止播放声音代码,参考如下修改!

     public   static   void  StopSound()
    
{

        
try
        
{
            
if( player== null )
                
return;
            
else
            
{
                player.deallocate();     
//增加次函数
                player.close();
                player 
= null;
            }

        }

        
catch ( Exception e ) { e.printStackTrace(); }
    }

 

4.LG C1100手机按键,在全屏幕加command可以实现左右软件动作,但需要在JAD描述中增加一项
MIDletX-No-Command: true

5.LG CG225手机按键,在全屏幕加command可以实现左右软件动作,但需要在JAD描述中增加一项
MIDletX-No-Command: true
同时需要注意,他的左右软件动作与B2100(C1100的兼容手机)是相反的!

6.LG KG220手机的按键,在全屏模式下就可以得到左右软件动作,不需要加COMMAND,所以在这一定上,他不与C1100兼容。

7.在单Player播放声音时候不需要stop()这个函数,一般都是先close()掉这个Player,然后再需要播放前new出一个新的,也就是先释放在生成!参考代码

     public   static   void  PlaySoundLoop( int  id,  int  loop)
    
{
           StopSound(); 
// stop last midi
        try 
        
{
            InputStream is 
= new ByteArrayInputStream( s_soundData[id] );
            s_sound 
= javax.microedition.media.Manager.createPlayer(is, "audio/midi");
            s_sound.realize();
            s_sound.setLoopCount( loop );
            s_sound.start();
            s_curSoundId 
= id;
        }

        
catch (Exception e) { e.printStackTrace(); }
    }


8.从一张大图片上按一定规律截取小图,小图本来应该透明的地方,被白色添充了。
简单的解决办法,可以使用小图单独生成。参考代码如下:

         try
        
{
            
forint i=0; i<img.length; i++ )
            
{
                img[i]         
=  Image.createImage("/pics/"+name+"_"+i+".png");
            }

//            Image temp     = Image.createImage("/pics/"+name+".png");
//            form        = temp.getWidth()/w;
//            img            = new Image[form];
//            Graphics gn;
//            for( int i=0; i<img.length; i++ )
//            {
//                img[i]         = Image.createImage(w, h);
//                gn             = img[i].getGraphics();    
//                gn.drawImage(temp, -i*w, 0, gn.LEFT|gn.TOP);
//            }
//            gn     = null;
//            temp = null;    
//            System.gc();
        }
catch (Exception e) { e.printStackTrace(); }     

 

未完待续! 不断更新中...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值