Namespaces
Variants
Actions
Revision as of 10:16, 8 December 2011 by hamishwillee (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Como ler uma imagem da Galeria em Java ME

Jump to: navigation, search
Dados do artigo

Artigo
Tradução:
Ú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

155 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved