我的应用程序允许用户使用相机拍摄照片并将其保存为个人资料照片。一次只能存储1张图像吗?
答案 0 :(得分:2)
我认为在SharedPreferences中存储二进制数据不是一个好主意。而是将其保存到文件系统。例如,如果数据来自InputStream:
storeImage( new File(context.getFilesDir().getAbsolutePath() + fileDir),
is,
"profile.png" );
public static void storeImage(
File fileDir,
InputStream inputStream,
String fileName ) throws IOException {
File file = new File( fileDir,fileName );
FileOutputStream fos = new FileOutputStream( file );
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
inputStream.close();
fos.close();
bitmap.recycle();
bitmap = null;
}
上下文可以是应用程序/活动上下文。
答案 1 :(得分:1)