Невозможность показать изображение в симуляторе Blackberry - PullRequest
2 голосов
/ 11 мая 2010

Я только начал изучать основы Blackberry ....

Итак, я столкнулся с одной проблемой в API растрового интерфейса Blackberry.

У меня есть класс 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);

    }
}

Я также включил image.png в папку res, которая находится в той же структуре каталогов, что и src.

Все еще в симуляторе, я просто получаю ярлык "Hello World", но не изображение сверху.

Заранее спасибо ....

1 Ответ

6 голосов
/ 11 мая 2010

Последний плагин BlackBerry в Eclipse использует соглашение о папке res из J2ME: все в папке res заканчивается на верхнем уровне в вашем jar-файле.

Таким образом, изменение строки

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

до

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

должен решить проблему.

Чтобы убедиться, что это проблема, найдите в папке результатов в каталоге вашего проекта файл jar, сгенерированный Eclipse. Откройте его (просто переименуйте расширение в .zip) и убедитесь, что изображение находится прямо на верхнем уровне банки.

Если вы хотите, чтобы res был там, добавьте еще одну папку res в папку res и поместите туда все ваши изображения.

...