我刚开始学习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”的标签,但不是顶部的图像。
提前致谢....
答案 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文件夹,并将所有图像放在那里。