Come accedere all'immagine memorizzata in Blackberry usando Bitmap.getBitmapResource ()?

StackOverflow https://stackoverflow.com/questions/1630142

  •  06-07-2019
  •  | 
  •  

Domanda

Voglio accedere a un'immagine memorizzata in Blackberry, ad esempio nella posizione " store / home / user / image.png " .

Ora posso accedere a questa immagine come,

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

OPPURE

Devo accedervi come,

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

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

  }

Sono in grado di accedere all'immagine usando il secondo modo, ma voglio sapere che posso accedervi usando " Bitmap.getBitmapResource (filePath) " ?

È stato utile?

Soluzione

Dai un'occhiata a Bitmap.getBitmapResource Riferimento API:

  

getBitmapResource (nome stringa) pubblico Bitmap statico
  Crea una bitmap dalla risorsa del nome fornita.
  Questo metodo cerca la risorsa nel file cod che ha avviato questo processo.
   Parametri:
  name - Nome della risorsa bitmap.
   Returns:
  Nuovo oggetto Bitmap o null se questo metodo non è riuscito a trovare la risorsa denominata.
   Produce:
  NullPointerException - Se il parametro name è null.
   Dal:
  JDE 3.6

     

getBitmapResource Bitmap pubblica statica (modulo String, nome String)
  Crea una bitmap dalla risorsa denominata fornita trovata nel modulo.
   Parametri:
  module - Nome del modulo contenente la risorsa bitmap. Se non specificato, viene utilizzato il nome di > il modulo chiamante.
  name - Nome della risorsa bitmap.
   Returns:
  Nuovo oggetto Bitmap o null se questo metodo non è riuscito a trovare la risorsa denominata.
   Produce:
  NullPointerException - Se il parametro name è null.
   Dal:
  JDE 3.6

Questo metodo viene utilizzato per recuperare i moduli di codice delle risorse. Se includi qualche immagine nel tuo progetto, sarai in grado di recuperarla con questo metodo.

E se vuoi aprire qualche immagine dal file system, dovrai usare FileConnection, controlla il tipo MIME del file, leggi i byte dallo stream e crea EncodedImage di conseguenza.

Altri suggerimenti

Bitmap.getBitmapResource () viene utilizzato per caricare risorse archiviate nel file COD o in qualsiasi file COD su cui si basa l'applicazione. Non è per il caricamento di file archiviati sul dispositivo.

Bitmap JavaDocs

In che lingua stai scrivendo? Ecco come l'ho fatto in C ++ su 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 sarebbe qualcosa come \\ Storage Card \\ test.bmp .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top