Search code examples
blackberryblackberry-storm

How to access image stored in Blackberry using Bitmap.getBitmapResource()?


I want to access an image stored in Blackberry, say at location "store/home/user/image.png" .

Now can i access this image as,

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

OR

I have to access it as,

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

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

  }

I am able to access the image using the second way but I want to know that can I access it using "Bitmap.getBitmapResource(filePath)" ?


Solution

  • Take a look at Bitmap.getBitmapResource API reference:

    public static Bitmap getBitmapResource(String name)
    Creates a bitmap from provided name resource.
    This method looks for the resource in the cod file that launched this process.
    Parameters:
    name - Name of the bitmap resource.
    Returns:
    New Bitmap object, or null if this method couldn't find your named resource.
    Throws:
    NullPointerException - If the name parameter is null.
    Since:
    JDE 3.6

    public static Bitmap getBitmapResource(String module, String name)
    Creates a bitmap from provided named resource found in module.
    Parameters:
    module - Name of the module containing the bitmap resource. If not specified, the name of >the calling module is used.
    name - Name of the bitmap resource.
    Returns:
    New Bitmap object, or null if this method couldn't find your named resource.
    Throws:
    NullPointerException - If the name parameter is null.
    Since:
    JDE 3.6

    This method is used to retrieve resources code modules. If you include some image into your project you will be able to retrieve it with this method.

    And if you want to open some image from file system, you will have to use FileConnection, check file MIME type, read it's bytes from stream and create EncodedImage accordingly.