×
Namespaces

Variants
Actions
Revision as of 10:16, 8 December 2011 by hamishwillee (Talk | contribs)

Como ler uma imagem da Galeria em Java ME

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Artigo
Tradução:
Por maiconherverton
Última alteração feita por hamishwillee em 08 Dec 2011


Resumo

Este artigo mostra como ler uma imagem da Galeria usando a API FileConnection (JSR-75) e mostrá-lo no formulário. As pastas de fotos podem ser acessadas usando as propriedades do sistema, por exemplo: System.getProperty("fileconn.dir.photos"). Conteúdo do arquivo é lido usando InputStream. Os dados são salvos em um array de bytes e o objeto de imagem é criado usando o método Image.createImage().


O código fonte completo para um teste MIDlet:

Source code: ReadMIDlet.java

import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Image;
import javax.microedition.io.file.FileConnection;
import javax.microedition.io.Connector;
import java.io.InputStream;
import java.io.IOException;
 
public class ReadMIDlet extends MIDlet implements CommandListener {
private Form form;
private String photos = "fileconn.dir.photos";
private Image image;
private Command exitCommand;
 
public void startApp() {
form = new Form("ReadMIDlet");
exitCommand = new Command("Exit", Command.EXIT, 1);
form.addCommand(exitCommand);
form.setCommandListener(this);
Display.getDisplay(this).setCurrent(form);
String path = System.getProperty(photos); // Por exemplo: file:///C:/Data/Images/
form.append("path = " + path);
// A imagem "image.png" deve estar na mesma pasta acima
image = readFile(path + "image.png");
if (image != null) form.append(image);
else form.append("Image not found!");
}
 
public void pauseApp() {
}
 
public void destroyApp(boolean unconditional) {
}
 
public Image readFile(String path) {
try {
//abre o arquivo com permissão de leitura
FileConnection fc = (FileConnection)Connector.open(path, Connector.READ);
if(!fc.exists()) { //verifica se o arquivo não existe
System.out.println("File doesn't exist!");
}
else { //
int size = (int)fc.fileSize();
InputStream is = fc.openInputStream();
byte bytes[] = new byte[size];
is.read(bytes, 0, size);
image = Image.createImage(bytes, 0, size);
}
 
} catch (IOException ioe) {
System.out.println("IOException: "+ioe.getMessage());
} catch (IllegalArgumentException iae) {
System.out.println("IllegalArgumentException: "+iae.getMessage());
}
return image;
}
 
public void commandAction(Command c, Displayable d) {
if (c == exitCommand) this.notifyDestroyed();
}
}

Veja também

51 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×