开发者社区> 科技小能手> 正文

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

简介:
+关注继续查看

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

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

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

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

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


  1. public static void StopSound()  
  2.     ...{  
  3.  
  4.         try 
  5.         ...{  
  6.             if( player== null )  
  7.                 return;  
  8.             else 
  9.             ...{  
  10.                 player.deallocate();     //增加次函数  
  11.                 player.close();  
  12.                 player = null;  
  13.             }  
  14.         }  
  15.         catch ( Exception e ) ...{ e.printStackTrace(); }  
  16.     } 

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出一个新的,也就是先释放在生成!参考代码


  1. public static void PlaySoundLoop(int id, int loop)  
  2.     ...{  
  3.            StopSound(); // stop last midi  
  4.         try   
  5.         ...{  
  6.             InputStream is = new ByteArrayInputStream( s_soundData[id] );  
  7.             s_sound = javax.microedition.media.Manager.createPlayer(is, "audio/midi");  
  8.             s_sound.realize();  
  9.             s_sound.setLoopCount( loop );  
  10.             s_sound.start();  
  11.             s_curSoundId = id;  
  12.         }  
  13.         catch (Exception e) ...{ e.printStackTrace(); }  
  14.     } 

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


  1. try 
  2.         ...{  
  3.             forint i=0; i<img.length; i++ )  
  4.             ...{  
  5.                 img[i]         =  Image.createImage("/pics/"+name+"_"+i+".png");  
  6.             }  
  7. //            Image temp     = Image.createImage("/pics/"+name+".png");  
  8. //            form        = temp.getWidth()/w;  
  9. //            img            = new Image[form];  
  10. //            Graphics gn;  
  11. //            for( int i=0; i<img.length; i++ )  
  12. //            {  
  13. //                img[i]         = Image.createImage(w, h);  
  14. //                gn             = img[i].getGraphics();      
  15. //                gn.drawImage(temp, -i*w, 0, gn.LEFT|gn.TOP);  
  16. //            }  
  17. //            gn     = null;  
  18. //            temp = null;      
  19. //            System.gc();  
  20.         }catch(Exception e)...{ e.printStackTrace(); }     

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



本文转自 kome2000 51CTO博客,原文链接:http://blog.51cto.com/kome2000/578510

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android动态权限(兼容6.0以下和魅族手机方案)
这里以照相机权限为例说明问题。实际开发过程中遇到了不少的坑。
57 0
告别捅嗓子?AI手机程序通过声音检测新冠,准确率已达到89%
大数据文摘出品 不知道大家对做核酸怎么看,反正文摘菌的喉咙已经起茧了
87 0
程序人生 - 维修手机如何避坑?
程序人生 - 维修手机如何避坑?
34 0
程序人生 - 不能出门?只想躺着玩手机?躺着玩手机也能锻炼身体!
程序人生 - 不能出门?只想躺着玩手机?躺着玩手机也能锻炼身体!
21 0
【nginx】兼容手机和pc可以同时使用https访问
【nginx】兼容手机和pc可以同时使用https访问
107 0
Android Studio 将程序在模拟器或手机上运行
运行程序必须有一个运行的载体,可以是一部Android手机,也可以是模拟器。 1.启动模拟器 首先观察顶部工具栏的图标,点击创建和启动模拟器的按钮,或者点击Tools里第一个的 AVD manager
651 0
程序员告诉你:手机银行为何不如马云的支付宝和马化腾的微信支付好用?
从移动支付兴起,到现在也有六七个年头了吧。短短几年内,出门就可以不带钱包了,移动支付给生活带来的变化可谓巨大无比,马云的支付宝也渐渐成为了金融支付行业的霸主。
2806 0
android兼容oppo手机刘海屏解决方案
引用自OPPO官方文档,这里缩减了一些内容,选取重要内容,包括oppo沉浸式的兼容。 转载请标明出处: https://blog.
4054 0
android兼容vivo手机刘海屏解决方案
引用自vivo官方文档,文档下载请点《下载》 转载请标明出处: https://blog.csdn.net/djy1992/article/details/80683693 本文出自:【奥特曼超人的博客】 ...
2031 0
android兼容huawei手机刘海屏解决方案
引用自华为官方文档:doc/50114 ,这里缩减了一些内容,捡取重要内容。 转载请标明出处: https://blog.
2767 0
+关注
科技小能手
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
手机京东Crash自动分析处理系统
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载