加入一客户定义的菜单项到已有的应用程序中(BlackBerry,Model:7520)
前几天,我就在想一个问题,即扩展BlackBerry系统应用程序的菜单,
我打算分为几个步骤:
1)是否真的可以这样做,毕竟BlackBerry是另外一个操作系统
2)即然可以加入,如何加入
3)加入之后,如何实现自己的功能
这个问题已经困扰了我很久,今天看了看BlackBerry的SDK,发现了几个关于Menu的类,我就在想,应该可以从这几个类入手.在前几天,我寻找了几个开源的工具,很遗憾的是没有提供源代码,不过这说明了第一个步骤是可行的,结下类研究的是如何实现第2步,看了这几个类以及它们的文档:
得到了以下代码:
import net.rim.device.api.ui.*;
import net.rim.device.api.system.*;
import net.rim.device.api.ui.component.Dialog;
import net.rim.blackberry.api.menuitem.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
public class BBInit extends Application
{
private static long ID = 0xe1e5ac072dc45f40L;
public static void main(String[] args)
{
BBInit theApp = new BBInit();
theApp.enterEventDispatcher();
}
public BBInit()
{
ApplicationMenuItemRepository.getInstance().addMenuItem(ApplicationMenuItemRepository.MENUITEM_BROWSER ,
new BBMenuItem());
}
}
class BBMenuItem extends ApplicationMenuItem
{
BBMenuItem()
{
super("Print",10);
}
BBMenuItem(int order)
{
super(order);
}
public String toString()
{
return "Print";
}
public Object run(Object context) {
System.out.println(context);
//DO WHAT YOU WANT TO DO
return context;
}
}
import net.rim.device.api.system.*;
import net.rim.device.api.ui.component.Dialog;
import net.rim.blackberry.api.menuitem.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
public class BBInit extends Application
{
private static long ID = 0xe1e5ac072dc45f40L;
public static void main(String[] args)
{
BBInit theApp = new BBInit();
theApp.enterEventDispatcher();
}
public BBInit()
{
ApplicationMenuItemRepository.getInstance().addMenuItem(ApplicationMenuItemRepository.MENUITEM_BROWSER ,
new BBMenuItem());
}
}
class BBMenuItem extends ApplicationMenuItem
{
BBMenuItem()
{
super("Print",10);
}
BBMenuItem(int order)
{
super(order);
}
public String toString()
{
return "Print";
}
public Object run(Object context) {
System.out.println(context);
//DO WHAT YOU WANT TO DO
return context;
}
}
这样第2步已经实现
接下来的第3步就再接再厉了,相信不是很难的了