编写BlackBerry JAVA应用程序

作者:操作系统    发布时间:2019-12-22 01:22     浏览次数 :

[返回]

发现一个软件叫memoryup主要实现内存优化,回收jvm内存,但不知其原理,我研究了一下,blackberryapi中,关于内存的类有:net.rim.device.api.memorycleaner.MemoryCleanerListenernet.rim.device.api.system.Memory等几个类,谁知道memoryup怎么实现回存回收呢?

应用程序管理当BlackBerry设备启动时,VM加载应用程序管理器,它管理在BlackBerry设备上所有运行的程序。对于其他Java程序,应用程序管理器的功能类似操作系统事件的中心调度员一样。提供用户界面的应用程序扩展了net.rim.device.api.ui.UiApplication类。这个类为应用程序提供方法来注册事件监听者,管理线程以及UI组件。没有提供用户界面的应用程序扩展了net.rim.device.api.system.Application类。BlackBerry应用程序开始于main()函数。当一个程序开始时,它的main()线程调用enterEventDispatcher()来开始处理事件。这个线程运行所有绘图以及事件处理的代码,以及登等待应用程序队列里地事件。当应用程序管理器接收到一个事件时,它将这个事件拷贝到合适的队列里,这个队列可以允许应用程序管理器指挥消息到特定的程序中。例如,前台的应用程序仅接收用户输入的消息。编写一个例程扩展UiApplication基类每个提供用户接口的应用程序扩展了UiApplication基类,UiApplication类为应用程序定义了方法来建立一个事件线程,并且显示和维护Screen对象。定义main()在main()中,为应用程序创建一个新的对象。调用enterEventDispatcher()使应用程序进入事件线程并且开始处理消息。publicstaticvoidmain(String[]args){HelloWorldtheApp=newHelloWorld();theApp.enterEventDispatcher();}定义一个构造子为你的应用程序定义缺省的构造子。缺省的构造子调用UiApplication.pushScreen()以显示当应用程序启动时出现的屏幕。在本例中,屏幕使一个新的HelloWorldScreen实例,它在下节的代码中定义:publicHelloWorld(){pushScreen(newHelloWorldScreen());}定义main屏幕为了定义应用程序UI的主屏幕,扩展MainScreen类。MainScreen类是Screen的子类,它实现了TrackwheelListener和KeyboardListener接口,这些接口接收和响应用户交互。如果你扩展Screen类或者其子类中的一个,你并不是必须实现TrackwheelListener和KeyboardListener接口。你的类至少应该重写2个MainScreen的方法:缺省的构造子和onClose().在这个例子中,构造子调用了MainScreen的构造子。缺省地,MainScreen提供下列特性:!–[if!supportLists]–!–[endif]–由一个Close菜单项的缺省菜单。外围竞猜app有哪些,!–[if在哪可以买电竞外围,!supportLists]–!–[体育电竞综合平台,endif]–当你点击Close或者按Escape时,缺省的是关闭动作。为了提供客户定制行为,例如显示一个对话框提示,当用户点击Close菜单项或者按Escape按钮,重写onClose().菠菜电竞app,!–[if!supportLists]–一个RichTextField的实例,一个可以接收焦点的只读富文本域为了得到更多关于增加UI组件到屏幕中的信息,参看40页的“提供屏幕导航”!–[if!supportLists]–一个Select菜单项的上下文菜单•为了得到更多信息,参看60页的“创建定制的上下文菜单“代码实例接下来的例子创建了一个屏幕,它包含了一个富文本域。当富文本域接收到焦点时,菜单保安一个Close菜单项和一个Select上下文菜单项。!–[if!vml]–!–[endif]–

文章来源:_GPS_modes_using_BlackBerryCriteria_834572_11.jsp玩在4.*系类的兄弟们就享受不到这个福利了。运行BlackBerry®DeviceSoftware5.0.0或更高版本的BlackBerry设备支持BlackBerry®extensionstoJSR179。1.导入所需的类。importnet.rim.device.api.gps.*;2.创建类和构造函数。publicclasshandleGPS{BlackBerryCriteriamyCriteria;publichandleGPS(){}}3.在构造函数中,创建try/catch块。在该块中,将GPS模式作为参数传递给构造函数,从而创建BlackBerryCriteria类的实例。try{myCriteria=newBlackBerryCriteria(GPSInfo.GPS_MODE_ASSIST);}catch(UnsupportedOperationExceptionex){return;}4.在构造函数中,如果您指定的第一种GPS模式无法检索GPS修正,则调用setFailloverMode()来指定要使用的GPS故障转移模式。成功检索第一个修正后,调用setSubsequentMode()来指定要使用的后续GPS模式。myCriteria.setFailoverMode(GPSInfo.GPS_MODE_AUTONOMOUS,3,100);myCriteria.setSubsequentMode(GPSInfo.GPS_MODE_AUTONOMOUS);5.要验证GPS模式是否受到支持,请调用GPSInfo.isGPSModeAvailable()并将GPS模式作为参数传递。如果该模式受到支持,则调用setMode()来指定GPS模式。publicclasshandleGPS{publichandleGPS(){BlackBerryCriteriamyCriteria=newBlackBerryCriteria();if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_ASSIST))myCriteria.setMode(GPSInfo.GPS_MODE_ASSIST);elseif(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_AUTONOMOUS))myCriteria.setMode(GPSInfo.GPS_MODE_AUTONOMOUS);}}分享自BBsync的博客: