1、项目需求
通过调用第三方接口查询相关信息,并按指定格式展示
2、开发
整体排版其实按照提供SDK开发就行,较为简单。其中有一点是测试了半天,就是针对动态显示的内容,这个地方需要使用动态区域,然后针对设定的动态区域进行内容更新。比如上面的装车物料、层数、袋数等内容,这些都是一直查询接口然后实时更新的。最初使用字母,然后整体更新节目,这种会刷新整体,屏幕内容更新的时候就会一闪一闪的,用动态区域可以解决。
public static void showLoadingInfo() throws Exception {
// 初始化API,此操作只在程序启动时候执行一次,多次执行会出现内存错误
Y2Env.initial();
Y2Screen screen = new Y2Screen(url);
boolean result = screen.login("guest", "guest");
log.warn("login result:" + result);
// 创建节目
ProgramPlayFile pf = new ProgramPlayFile(1);
// 创建一个字幕区1
MarqueeArea marea1 = new MarqueeArea(20, 0, 256, 22);
// 区域1字幕内容
marea1.addContent("无锡中粮工程科技有限公司");
// 创建一个字幕区2
MarqueeArea marea2 = new MarqueeArea(20, 22, 176, 22);
marea2.addContent(laneNo + "车道 车牌号:");
MarqueeArea marea3 = new MarqueeArea(20, 44, 176, 22);
marea3.addContent("当前装车物料:");
// 创建一个字幕区3
MarqueeArea marea4 = new MarqueeArea(20, 66, 156, 22);
marea4.addContent("当前装车层数: ");
// 创建一个字幕区4
MarqueeArea marea5 = new MarqueeArea(20, 88, 156, 22);
marea5.addContent("当前装车袋数: ");
// 时钟区域
Da