2009-10-27 4 views
3

Я хочу получить доступ к изображениям, хранящимся в Blackberry, скажем, в разделе «store/home/user/image.png».Как получить доступ к изображению, хранящемуся в Blackberry, используя Bitmap.getBitmapResource()?

Теперь я могу открыть изображение,

String filePath = "file:///store/home/user/image.png; 
Bitmap image = Bitmap.getBitmapResource(filePath); 
BitmapField bitmapField = new BitmapField(image, BitmapField.FOCUSABLE); 

ИЛИ

У меня есть к нему доступ, как,

String filePath = "file:///store/home/user/image.png; 
    FileConnection fconn = (FileConnection)Connector.open(filePath, Connector.READ); 
    if (fconn.exists()) 
    { 
       ........ 
       ........       

    input.close(); 
    fconn.close();        

    } 

Я могу получить доступ изображение, используя второй способ, но Я хочу знать, могу ли я получить к нему доступ с помощью «Bitmap.getBitmapResource (filePath)»?

ответ

4

Посмотрите на ссылки Bitmap.getBitmapResource API:

общественности статической Bitmap getBitmapResource (имя String)
Создает растровое изображение из указанного имени ресурса.
Этот метод ищет ресурс в файле трека, который запустил этот процесс.
Параметры:
имя - название растрового ресурса.
Возврат:
Новый объект Bitmap или null, если этот метод не смог найти ваш именованный ресурс.
Throws:
NullPointerException - если параметр имени имеет значение null.
С:
JDE 3,6

общественности статической Растровые getBitmapResource (модуль Строка, имя String)
Создает битовый массив из предоставленного имени ресурса, найденного в модуле.
Параметры:
module - Название модуля, содержащего ресурс растрового изображения. Если не указано, используется имя> вызывающего модуля.
имя - название растрового ресурса.
Возврат:
Новый объект Bitmap или null, если этот метод не смог найти ваш именованный ресурс.
Throws:
NullPointerException - если параметр имени имеет значение null.
С:
JDE 3.6

Этот метод используется для извлечения Ресурсы модули кода. Если вы включите какое-то изображение в свой проект, вы сможете получить его с помощью этого метода.

И если вы хотите открыть какое-либо изображение из файловой системы, вам нужно будет использовать FileConnection, проверить тип файла MIME, прочитать его байты из потока и соответственно создать EncodedImage.

+0

Спасибо Fostah & coldice .. Спасибо за разъяснения .. – Shreyas

+0

Добро пожаловать! –

+0

Я знаю, что я пробуждаю мертвых с этой нитью, но вы говорите «проверьте файл MIME типа», простите меня за то, что не знаете, но как это делается? – Nicholas

-2

На каких языках вы пишете? Вот как я сделал это в C++ на Windows Mobile:

Log::GetSingleton() << "Loading sprite: " << wchar_path << "\n"; 

// Special magic WM bitmap loading function that isn't in the examples 
// because Microsoft wants you to use resource files 
HBITMAP bitmap = SHLoadDIBitmap(wchar_path); 

if (!bitmap) 
{ 
    Error::LastError(); 
    Error::Explain("Failed to load bitmap."); 
    return NULL; 
} 

HDC dc_image = CreateCompatibleDC(NULL); 
if (!dc_image) 
{ 
    Error::LastError(); 
    Error::Explain("Failed to create memory device context."); 
    return NULL; 
} 
HBITMAP other_bitmap = (HBITMAP)SelectObject(dc_image, bitmap); 

wchar_path будет что-то вроде \\Storage Card\\test.bmp.

+0

Я верю, что его j2me с RIM Blackberry API –

+0

. В следующий раз вы должны добавить это в теги, это поможет вам получить более качественные ответы. ;) – knight666

+0

да. его j2me с API RIM Blackberry. Итак, как решить эту проблему с помощью «Bitmap.getBitmapResource (filePath)»? – Shreyas

3

Bitmap.getBitmapResource() используется для загрузки ресурсов, которые хранятся в вашем файле COD или в любом файле COD, на который опирается ваше приложение. Это не для загрузки файлов, которые хранятся на устройстве.

Bitmap JavaDocs

Смежные вопросы