我想在内部存储(而不是外部存储)上存储位图图像.我写了这段代码,但似乎有问题.因为当我从DDMS下载图像时,我无法打开它.
public String writeFileToInternalStorage(Context context, Bitmap outputImage) {
String fileName = Long.toString(System.currentTimeMillis()) + ".png";
try {
OutputStreamWriter osw = new OutputStreamWriter(context.openFileOutput(fileName, Context.MODE_PRIVATE));
osw.write(outputImage.toString());
Log.i(TAG, "Image stored at: " + fileName);
} catch (Exception e) {
Log.w(TAG, e.toString());
fileName = null;
}
return fileName;
}
Run Code Online (Sandbox Code Playgroud)
outputImage.toString()不是图像:)你放在文件上的不是二进制数据,而是一些字符串!
一种方法是这样的:
public String writeFileToInternalStorage(Context context, Bitmap outputImage) {
String fileName = Long.toString(System.currentTimeMillis()) + ".png";
final FileOutputStream fos = openFileOutput(fileName, Context.MODE_PRIVATE);
outputImage.compress(CompressFormat.PNG, 90, fos);
}
Run Code Online (Sandbox Code Playgroud)
我直接编码到浏览器中,可能会有一些语法错误,但代码应该可以工作.
| 归档时间: |
|
| 查看次数: |
7714 次 |
| 最近记录: |