加入一客户定义的菜单项到已有的应用程序中(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

}
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步就再接再厉了,相信不是很难的了
分类:
Java
, 我的黑妹(BlackBerry)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?