blackberry触摸屏设备编程(一)

这篇文章我酝酿很久了,现在9800出来,黑莓的触屏开发应该会有一个比较热的趋势,就发布出来吧。

 

触摸屏设备编程1

 

 

一 触摸屏幕设计需要注意的地方

 

开发用于带触摸屏的 BlackBerry® 设备的应用程序时,您应考虑这些设备的以下 UI 功能:

• 触摸屏

• 屏幕方位的重要性

• 触摸屏键盘

• 加速度计(一些带触摸屏的 BlackBerry 设备上)

 

关于这些项目的具体内容和细节,可以参考blackberry的编程白皮书:BlackBerry Java Application

Transitioning to Touch Screen Development.

 

 

二 触摸屏幕的具体编程和设计的要求

 

随着触摸屏幕手机的引入,BlackBerry也加入了相应API的支持:

net.rim.device.api.ui.Touchscreen

这个类的作用就是系统用来判别当前手机是否是触屏的utility类别,所以一个比较通用的java程序的做法就是在程序入口中加入这样的逻辑判断:

        if(Touchscreen.isSupported())

        {

            /* Touch screen logic     */

        }

        else

        {

            UiApplication.getUiApplication().invokeLater(new Runnable()

            {

                public void run()

                {

                    Dialog.alert("This application requires a touch screen device.");

                    System.exit(0);

                }

            });

        }

JDE5.0的示例程序中,有一个例子touchdemo,有关于这个工具类的具体使用方法,可以参考相应的代理例子在做一个通用的blackberry客户端程序。

 

触屏手机的引入,可以加入对屏幕的方向的变化,这个在原有的全键盘手机中是没有的,所以在触摸屏幕手机开发应用过程中,需要加入相应的响应的逻辑.

有两种方式可以用来对屏幕的方位进行控制和调整,第一种方式是在screensublayout方法中。

 

public void sublayout(int width, int height) 

    //update scrren layout based on orientation 

    if(Display.getOrientation()== Display.ORIENTATION_LANDSCAPE) 

    { 

    invalidate(); 

    } 

    else if(Display.getOrientation()== Display.ORIENTATION_PORTRAIT) 

    { 

     invalidate(); 

    } 

    super.sublayout(width, height); 

 

还有一种方式是在应用中显式调用屏幕的方位信息,然后做出调整:

switch(Display.getOrientation())

{

case Display.ORIENTATION_LANDSCAPE:

Dialog.alert("Screen orientation is landscape"); break;

case Display.ORIENTATION_PORTRAIT:

Dialog.alert("Screen orientation is portrait"); break;

case Display.ORIENTATION_SQUARE:

Dialog.alert("Screen orientation is square"); break;

default:

Dialog.alert("Screen orientation is not known"); break;

}

 

除了对屏幕方位也就是重力切换的处理,在触摸屏幕编程中,需要考虑UI事件的处理和全键盘手机的不同,关于这部分的具体处理,可以参考下面部分的示例以及后续的内容介绍。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章