Como imagem de acesso armazenadas no Blackberry para usar Bitmap.getBitmapResource ()?

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

  •  06-07-2019
  •  | 
  •  

Pergunta

Eu quero acessar uma imagem armazenada no Blackberry, dizem no local "store / home / user / image.png".

Agora eu posso acessar esta imagem como,

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

ou

Eu tenho que acessá-lo como,

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

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

  }

Eu sou capaz de acessar a imagem usando a segunda maneira, mas eu quero saber que eu posso acessá-lo usando "Bitmap.getBitmapResource (filePath)"?

Foi útil?

Solução

Dê uma olhada em Bitmap.getBitmapResource referência API:

public static Bitmap getBitmapResource (String name)
Cria um bitmap de recurso de nome fornecido.
Este método procura o recurso no arquivo de bacalhau que lançou este processo.
Parâmetros:
Nome - Nome do recurso bitmap
. Returns:
New Bitmap objeto, ou null se este método não poderia encontrar o seu recurso nomeado.
Lança:
NullPointerException - Se o parâmetro nome é nula
. Desde:
JDE 3.6

public static Bitmap getBitmapResource (módulo String, String nome)
Cria um bitmap a partir fornecidos recurso nomeado encontrado no módulo.
Parâmetros:
Módulo - Nome do módulo que contém o recurso bitmap. Se não for especificado, o nome> módulo chamando é usado.
Nome - Nome do recurso bitmap
. Returns:
New Bitmap objeto, ou null se este método não poderia encontrar o seu recurso nomeado.
Lança:
NullPointerException - Se o parâmetro nome é nula
. Desde:
JDE 3.6

Este método é usado para recuperar recursos módulos de código. Se você incluir alguma imagem em seu projeto, você será capaz de recuperá-lo com este método.

E se você deseja abrir alguma imagem do sistema de arquivos, você terá que usar FileConnection, verificar o tipo de MIME do arquivo, lê-lo de bytes do fluxo e criar EncodedImage em conformidade.

Outras dicas

Bitmap.getBitmapResource () é usado para carregar recursos que são armazenados dentro de seu arquivo COD ou qualquer arquivo COD sua aplicação depende. Não é para o carregamento de arquivos que estão armazenados no dispositivo.

Bitmap JavaDocs

Que linguagem você está escrevendo em? Aqui está como eu fiz isso em C ++ em 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 seria algo como \\Storage Card\\test.bmp.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top