我正在尝试创建一个黑莓应用,我需要在其中拍摄用户已保存或拍摄在黑莓上的照片,然后将其添加到另一张照片并保存照片,以便当用户进入他们的保存的照片然后新照片可用。我目前正在努力解决如何访问用户的照片,然后将新照片保存在用户可以获取它的地方,并最终将其添加为手机的背景图像。
答案 0 :(得分:1)
从设备读取图像的代码。
public void checkImages(String imagePath) {
String path = "";
if (imagePath.equals(""))
path = "file:///SDCard/";
else
path = imagePath;
try {
FileConnection fileConnection = (FileConnection)Connector.open(path);
if (fileConnection.isDirectory()) {
Enumeration directoryEnumerator = fileConnection.list("*", true);
while(directoryEnumerator.hasMoreElements()) {
contentVector.addElement(directoryEnumerator.nextElement());
}
fileConnection.close();
for (int i = 0 ; i < contentVector.size() ; i ++) {
String name = (String) contentVector.elementAt(i);
checkImages(path + name);
}
}
else {
if (path.toLowerCase().endsWith(".jpg")) {
fileConnection.close();
}
}
} catch (Exception ex) { }
}
将图像保存到设备的代码..
private void saveBitmap(int picIndex, Bitmap bmp)
{
String PHOTO_DIR = System.getProperty ("fileconn.dir.photos");
String EXTENSION = ".bmp";
String filePath = PHOTO_DIR + picIndex + EXTENSION;
try
{
FileConnection fconn = (FileConnection)Connector.open(filePath, Connector.READ_WRITE);
if(fconn.exists())
fcomm.delete();
fconn.create();
OutputStream outputStream = fconn.openOutputStream();
PNGEncodedImage encodedImage = PNGEncodedImage.encode(bmp);
byte[] imageBytes = encodedImage.getData();
outputStream.write(imageBytes);
outputStream.close();
fconn.close();
}
catch(Exception e){
System.out.println(" Exception while saving Bitmap:: "+e.toString());
}
}
并从Read/Write Image获得帮助。