J2ME编程中的横竖屏切换知识小结
爪哇米工作室 陈跃峰
出自:http://blog.csdn.net/mailbomb
注:转载请注明出处
随着手机的功能越来越丰富,支持横竖屏切换的手机越来越多,在手机软件开发中也必须要处理这个功能了。下面对于使用J2ME技术进行编程时对于横竖屏(转屏)切换时的相关知识进行一下小结。
1、如何判断横竖屏切换
横竖屏切换由手机系统自动完成的,在J2ME中只能检测到这种变换,判断横竖屏切换的方法有2种:
A)线程中每次检测法(轮询方式)
这种方式是在程序的线程中每隔一定的时间间隔,就获得一次屏幕的宽度和高度,然后判断宽度和高度是否变化,如果宽度和高度和已有的宽度和高度相比发生了变化,至于是变化成横屏还是竖屏则只需要比较宽高就可以实现。在判断到横竖屏切换时,执行逻辑代码即可。
使用这种方式由于每次线程循环都需要检测,所以执行效率不高,但是由于一些转屏手机不支持sizeChanged的方法回调,所以使用这种方式的通用性是最高的,是经常被使用的方法。
B)sizeChanged法(中断方式)
这种方式是指如果转屏手机对于MIDP支持比较规范,则当横竖屏切换时会自动调用Canvas类中的sizeChanged方法,这样就需要在Canvas的子类中覆盖该方法即可,在该方法内部书写横竖屏切换的逻辑处理代码即可。
使用这种方式由于是系统自动调用,所以执行效率很好,但是由于部分手机实现的不规范,所以通用性没有第一种方式高。
说明:高级用户界面自动切换,不需要书写处理的代码。
2、如何处理横竖屏切换
在检测到横竖屏切换以后,就需要对于横竖屏切换进行处理了,处理的方式一般有也有两种:
A)简单提示法
这种处理方式时指只实现一种屏幕模式下的逻辑,而在另外一种屏幕方式下显示提示。例如只实现竖屏模式的界面,在横屏模式下,只出现提示:“请在竖屏模式下使用本程序”。
使用这种方式程序实现比较简单,只需要实现一套界面即可,适合于比较简单的程序。
B)实现两套UI法
这种处理方式时指在一个程序中实现两套界面:一套横屏一套竖屏。可以在程序中设置一个screenType的参数,在每个节目的绘制方法中根据该参数判断是横屏还是竖屏,然后执行不同的绘制代码即可。
使用这种方式程序实现比较友好,但是程序开发和测试的工作量都要稍微大一点,而且横竖屏切换时数据的变换也比较麻烦。
3、其它说明
在实现横竖屏切换时,有些知识会帮助你实现一些很实用的功能:
A)在Nokia手机上禁止横竖屏切换:
在S60 5th 及以上版本中,可以通过在jad或manifest文件中通过指定如下属性来指定程序运行时的屏幕类型:
竖屏:Nokia-MIDlet-App-Orientation:portrait
横屏:Nokia-MIDlet-App-Orientation:landscape
不足之处希望大家积极指正、交流和完善!
分享到:
相关推荐
J2ME,全称Java Micro Edition,是Sun Microsystems(现已被Oracle公司收购)为嵌入式设备和消费类电子产品设计的开发平台。它与J2SE(Java Standard Edition)和J2EE(Java Enterprise Edition)一同构成了Java技术...
java游戏开发\游戏基础开发9月1日课件\J2ME编程环境
1.8本官方j2me编程类库参考,可以使用uc浏览器查看。 2.tengge手机端j2me教程,80多节,内含示例程序、做好的软件和效果图片。 3.手机端j2me编译工具janino.jar。 4.手机端j2me预审核工具preverifier.jar。 ...
j2me编程apij2me编程aj2me编程apipij2me编程apij2me编程apij2me编程apij2me编程apij2me编程apij2me编程apij2me编程apij2me编程apij2me编程apij2me编程apij2me编程apij2me编程apij2me编程api
这一章主要会引导你了解J2ME的基础知识,包括如何使用Eclipse创建J2ME项目,设置项目的编译路径,以及如何编写简单的J2ME程序。你会学习到基本的J2ME编程元素,如 MIDlet,它是J2ME应用程序的核心,负责管理应用程序...
J2ME游戏编程的核心知识点包括: 1. **J2ME架构**:J2ME由配置(Configurations)和 profiles(Profiles)组成。配置定义了设备的基本能力,如CLDC(Connected Limited Device Configuration)适用于内存和处理能力...
### BlackBerry J2ME 编程指南 #### 第一篇:J2ME编程基本指南 ##### 1 引言 根据mobile vision的最新报告,在移动开发市场上,尽管2008年之前Java ME一直占据开发者关注度的主要位置,但逐渐被新兴开发技术超越...
【J2ME编程基础知识】 Java 2 Platform, Micro Edition(J2ME)是Java平台的一个子集,专门设计用于资源有限的嵌入式设备,如移动电话、智能卡和家用电器。大连理工大学的J2ME编程英语课件深入介绍了如何在这些小型...
在J2ME中进行蓝牙编程,可以让设备之间实现数据交换、设备控制以及多种交互应用。 ### 1. 蓝牙技术概述 蓝牙是一种短距离无线通信技术,允许电子设备之间通过2.4GHz频段进行通信。它主要用于个人局域网(PAN)和...
标题中的“j2me 手机屏幕文字自动切换”指的是在Java 2 Micro Edition(J2ME)平台上,开发移动应用程序时如何实现文本内容在不同屏幕尺寸的手机上自适应显示,尤其是确保文字能根据屏幕宽度自动进行换行。在J2ME中...
《J2ME手机高级编程》涉及的是Java 2 Micro Edition(J2ME)在移动设备上的高级应用开发,尤其关注无线通信、游戏开发、电子地图浏览、播放器实现、持久化存储、移动商务应用以及XML模型的应用。这些主题涵盖了移动...
**游戏编程**在J2ME中涉及的核心技术包括: 1. **MIDP API**:这是J2ME游戏开发的主要框架,提供了用户界面、数据存储、网络通信等功能。MIDP包含Canvas类,它是创建自定义图形的基础,允许开发者直接绘制游戏场景...
在"J2ME编程源代码(书中代码)"这个压缩包中,包含了50个示例源代码,这些代码可能来自一本关于J2ME编程的教材,尽管书名未提供,但这些实例对于初学者来说是非常有价值的参考资料。 1. **基础概念** - **MIDP ...
J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏
J2me编程100例的随书源码...J2me编程100例的随书源码..J2me编程100例的随书源码..
J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏
《精通J2ME无线编程》是一本专注于Java Micro Edition(J2ME)移动开发的专业书籍。J2ME是Java技术的一个重要分支,主要用于嵌入式设备和移动通信设备的开发,如早期的智能手机、功能手机以及一些家用电器的控制系统...
事件处理是J2ME编程中的关键环节。我们需监听用户的触摸输入,通过getPointerCount()和getPointerData()方法获取点击的位置,然后调用相应的游戏逻辑函数。 此外,为了优化性能,我们需要考虑资源管理。J2ME平台...
在"J2ME手机游戏编程入门"这个主题中,我们主要会学习以下几个核心知识点: 1. **J2ME架构**:J2ME由配置(Configurations)和 profiles 组成。配置定义了Java运行时环境的基础特性,如内存大小,而profiles则增加...
**J2ME编程与Google地图实现** 在移动设备上实现地图功能是许多应用程序的核心需求,尤其是在GPS导航领域。J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为资源有限的嵌入式设备如手机和PDA设计。本教程将...