无法在黑莓模拟器中显示图像

时间:2010-05-11 13:51:19

标签: blackberry blackberry-simulator blackberry-eclipse-plugin

我刚开始学习Blackberry的基础知识....

所以,我在Blackberry的Bitmap UI API中面临一个问题。

我有一个名为UiFunApplication的类,它有主要方法:

public class UiFunApplication extends UiApplication {
    public UiFunApplication() {
        UiFunMainScreen mainScreen = new UiFunMainScreen();
        pushScreen(mainScreen);
    }

    public static void main(String[] args) {
        UiFunApplication app = new UiFunApplication();
        app.enterEventDispatcher();
    }
}

现在我的UiMainScreen类有以下代码:

public class UiFunMainScreen extends MainScreen {

    BitmapField bitmapField;

    public UiFunMainScreen() {
        Bitmap logoBitmap = Bitmap.getBitmapResource("res/image.png");
        bitmapField = new BitmapField(logoBitmap,Field.FIELD_HCENTER);
        add(bitmapField);

        LabelField labelField = new LabelField("Hello World");
        add(labelField);

    }
}

我还在res文件夹中包含了image.png,该文件夹与src位于同一目录结构中。

仍然在模拟器中,我只是获得名为“Hello World”的标签,但不是顶部的图像。

提前致谢....

1 个答案:

答案 0 :(得分:6)

Eclipse中最新的BlackBerry插件使用J2ME中的res文件夹约定:res文件夹中的所有内容都在jar文件的顶层。

所以更改行

Bitmap logoBitmap = Bitmap.getBitmapResource("res/image.png");

Bitmap logoBitmap = Bitmap.getBitmapResource("image.png");

应该解决问题。

要确认这是问题所在,请查看项目目录中的可交付项目文件夹,查找Eclipse生成的jar。打开它(只需将扩展名重命名为.zip)并验证图像是否位于jar的顶层。

如果您希望res在那里,请在res文件夹下添加另一个res文件夹,并将所有图像放在那里。