小编Mic*_*hue的帖子

如何在 Antlr 分词器中进行 Unicode 转义解码

我使用 AntlrWorks 创建了一个 antlr 语法,并创建了一个供内部使用的本地化工具。我想在解析时将 unicode 转义序列转换为实际的 Java 字符,但不确定执行此操作的最佳方法。这是我的语法中的标记定义。是否有某种方法可以为片段 UNICODE_ESC 指定一个操作,该操作将返回字符,而不是六个字符转义序列?

ID  :   ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*
    ;

INT :   '0'..'9'+
    ;

COMMENT
    :   '//' ~('\n'|'\r')* '\r'? '\n' {$channel=HIDDEN;}
    |   '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}
    ;

WS  :   ( ' '
        | '\t'
        | '\r'
        | '\n'
        ) {$channel=HIDDEN;}
    ;

STRING
    :  '"' ( ESC_SEQ | ~('\\'|'"') )* '"'
    ;

fragment
HEX_DIGIT : ('0'..'9'|'a'..'f'|'A'..'F') ;

fragment
ESC_SEQ
    :   '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\')
    |   UNICODE_ESC
    |   OCTAL_ESC
    ;

fragment
OCTAL_ESC
    : …
Run Code Online (Sandbox Code Playgroud)

java antlr antlr3

5
推荐指数
1
解决办法
863
查看次数

黑莓:加速模拟器的开始

为JDE运行任何Blackberry Simulator都需要永远启动.有关加快速度的想法吗?我看到它在启动时通过一堆通用文件查看,我可以将其删除吗?我想做的就是测试我的应用程序,它只依赖于电子邮件,地图和联系簿.

java blackberry blackberry-jde blackberry-simulator

5
推荐指数
1
解决办法
596
查看次数

即使使用无缓存元标记,也可以使用BlackBerry浏览器缓存

好的,首先,这是一个用户看到未完成任务列表的网站.它应该工作,所以用户点击一个完整的按钮,然后该项目不再显示,似乎不是!

当他们点击一个项目的'完成'时,我有onclick函数执行一个SQL更新语句然后做一个response.redirect回到那个页面,sql语句正确执行,页面重定向但是列表项仍然存在!

如果用户然后退出页面并返回到它,列表项HAS消失了,这使我认为该页面正在缓存,但是我已经放置了以下内容来阻止它:

<meta http-equiv="Cache-Control" content="no-cache, must-revalidate, post-check=0, pre-check=0" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />

这在运行OS 5.0的BlackBerry Bold上很好,但对于运行OS 4.x的BlackBerry Bold的客户不起作用

任何关于这可能是什么的想法都是最受欢迎的.

browser caching blackberry

5
推荐指数
1
解决办法
850
查看次数

在运行我的应用程序时预先验证类错误

我正在尝试运行示例项目,但我在控制台上收到此错误,并且应用程序未运行.我不明白这个错误意味着什么.

Packaging project ScheduleAir
C:\Eclipse\plugins\net.rim.ejde.componentpack4.5.0_4.5.0.28\components\bin\rapc.exe -quiet codename=deliverables\Standard\4.5.0\scheduleair deliverables\Standard\4.5.0\scheduleair.rapc -sourceroot=C:\Documents and Settings\20041\workspace\ScheduleAir\src\com\intellisoft\schedule_air;C:\Documents and Settings\20041\workspace\ScheduleAir\src;C:\Documents and Settings\20041\workspace\ScheduleAir\res -import=C:\Eclipse\plugins\net.rim.ejde.componentpack4.5.0_4.5.0.28\components\lib\net_rim_api.jar C:\Documents and Settings\20041\workspace\ScheduleAir\bin
Error preverifying class com.intellisoft.schedule_air.AppSettingScreen
    VERIFIER ERROR com/intellisoft/schedule_air/AppSettingScreen.()V:
Illegal type in constant pool
Error!: Error: preverifier failed: C:\Eclipse\plugins\net.rim.ejde.componentpack4.5.0_4.5.0.28\components\bin\preverify.exe -d C:\DOCUME ...
Packaging project ScheduleAir failed (took 0.437 seconds) 

blackberry java-me

5
推荐指数
1
解决办法
2158
查看次数

BlackBerry应用程序中的启动画面

我正在开发一个BlackBerry应用程序,它在应用程序启动时需要启动画面.我还没有找到任何实现启动画面的示例.

我在应用程序的启动类中使用了一个计时器来显示启动图像.有没有其他办法解决这个问题?

blackberry java-me

5
推荐指数
1
解决办法
3167
查看次数

System.out.println无法在netbeans控制台上打印

我使用Netbeans 7.0开发了LWUIT框架的Blackberry应用程序.我正在使用Blackberry SDK 4.7.我System.out.println(...);在许多地方使用我的应用程序打印字符串.但字符串值不会打印在netbeans控制台上.

有什么问题?如何解决这个问题?

netbeans lwuit blackberry java-me

5
推荐指数
1
解决办法
2万
查看次数

Phonegap + jQuery Mobile + Blackberry陷阱

我正在尝试将使用jQuery Mobile的Phonegap应用程序迁移到Blackberry.当我启动应用程序时,它在Android和iOS上正常运行.我看不到任何样式,javascript.

我想,Blackberry网络应用程序使用的文件路径与iOs和Android不同.我发现这个文件路径的东西有点奇怪.

就像在HTML文件中使用文件路径一样,<img src="res/img/...">对于Android和iOS 来说,正常的相对路径也是如此.但是如果你在JS中指定一个文件路径,你需要"file:///android_asset/www/res/img"Android,而"res/img/"iOS则很好.但无论如何......黑莓手机的情况如何?

外部JavaScript和CSS文件是否需要如下所示?

<link rel="stylesheet" href="local:///lib/jquerymobile/jquery.mobile.min.css" />
Run Code Online (Sandbox Code Playgroud)

或者它应该通过指定相对路径以正常方式工作?

除此之外,还有其他陷阱吗?就像我在使用"破折号","下划线"时所听到的文件命名问题一样.

如果一个有BB的Phonegap应用程序的经验可以分享他们的经验会很棒.

blackberry jquery-mobile blackberry-webworks cordova

5
推荐指数
1
解决办法
3310
查看次数

为什么我的BlackBerry异常getMessage()返回null?

我在所有的catch语句中使用以下代码行将错误打印到控制台:

System.out.println("ERROR MESSAGE " + e.getMessage() );
Run Code Online (Sandbox Code Playgroud)

有时,在控制台中,我得到以下内容:

ERROR MESSAGE null
Run Code Online (Sandbox Code Playgroud)

怎么会是null?如果它到达catch意味着抛出异常,但为什么为null?

blackberry java-me

5
推荐指数
1
解决办法
334
查看次数

BlackBerry OS 6中的Sqlite游标中断

我有一个在BlackBerry OS 7.0下运行良好的应用程序,但是当我在BlackBerry OS 6.0下运行相同的应用程序时,SqLite游标立即到达数据的末尾,因此我无法从数据库中获取任何数据.

 public static Vector GetProducts(String sysID) {
  Bitmap img = null;
  try {
   Statement st = d
     .createStatement("SELECT * FROM Product where systemSerID=?");
   st.prepare();
   st.bind(1, sysID);
   st.execute();
   Cursor c = st.getCursor();

   Products products;
   Vector pro = new Vector();

   while (c.next()) {

    Row r = c.getRow();
    products = new Products();
    products.setSystemServiceID(r.getString(1));
    products.setSystemServiceName(r.getString(2));
    products.setProductID(r.getString(3));
    products.setProductName(r.getString(4));
    products.setProductDesc(r.getString(5));

    products.setProductType(r.getString(devil));
    // products[i].setProductType("1");
    products.setBatchID(r.getString(7));
    products.setMinValue(r.getString(music));
    products.setMaxValue(r.getString(9));
    products.setImageURL(r.getString(10));

    System.out.println(" retrived from database.");
    pro.addElement(products);
   }

   c.close();
   st.close();
   return pro;

  } catch (DatabaseException e) { …
Run Code Online (Sandbox Code Playgroud)

sqlite blackberry java-me

5
推荐指数
1
解决办法
256
查看次数

无法在C++代码中访问QML对象

我正在开发一个QML应用程序(黑莓10),并有一个像这样的QML文件:

import bb.cascades 1.0    
Page {
        content: Container {
            id: containerID
            Button {
                id: button1
                text: "text"
                onClicked: {
                }
            }
            Label {
                id: label1
                text: "text"
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在我想访问label1我的c ++代码,所以我有以下代码:

#include "app.hpp"

#include <bb/cascades/Application>
#include <bb/cascades/QmlDocument>
#include <bb/cascades/AbstractPane>

using namespace bb::cascades;

App::App()
{
    QmlDocument *qml = QmlDocument::create("main.qml");
    //-- setContextProperty expose C++ object in QML as an variable
    //-- uncomment next line to introduce 'this' object to QML name space as an 'app' variable
    //qml->setContextProperty("app", this);

    AbstractPane …
Run Code Online (Sandbox Code Playgroud)

qt qml blackberry-10

5
推荐指数
1
解决办法
4343
查看次数