我已经得到了我想要的共享偏好来存储图像路径。
- 如何存储共享偏好里面的路径?
- 我怎样才能检索来自共享偏好图像路径?
我已经得到了我想要的共享偏好来存储图像路径。
所有你需要做的是,你的图像转换成它的Base64编码字符串表示:
Bitmap realImage = BitmapFactory.decodeStream(stream);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
realImage.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();
String encodedImage = Base64.encodeToString(b, Base64.DEFAULT);
textEncode.setText(encodedImage);
SharedPreferences shre = PreferenceManager.getDefaultSharedPreferences(this);
Editor edit=shre.edit();
edit.putString("image_data",encodedImage);
edit.commit();
然后,检索时,将其转换回位图:
SharedPreferences shre = PreferenceManager.getDefaultSharedPreferences(this);
String previouslyEncodedImage = shre.getString("image_data", "");
if( !previouslyEncodedImage.equalsIgnoreCase("") ){
byte[] b = Base64.decode(previouslyEncodedImage, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(b, 0, b.length);
imageConvertResult.setImageBitmap(bitmap);
}
但是,我要告诉你,Base64编码的支持是最近才列入API8。 要定位较低版本的API,您需要先添加它。 幸运的是, 这家伙已经有了所需要的教程。
此外,我要告诉你,这是一个复杂的过程,并shareprefrence只使用存储量小,如用户名和密码数据的那这样,你也可以用这样的方法:
(从SD卡)存储图像路径进入共享偏好等this--
SharedPreferences shre = PreferenceManager.getDefaultSharedPreferences(this);
Editor edit=shre.edit();
edit.putString("imagepath","/sdcard/imh.jpeg");
edit.commit();
加载您的图片路径,你可以使用这个
final SharedPreferences sharedPreference = getSharedPreferences(
"pref_key", MODE_PRIVATE);
if (sharedPreference.contains("imagepath")) {
String mFilePath = sharedPreference.getString(imagepath,
null);
}
让你的路径后,您可以使用:
File imgFile = new File(mFilePath);
if(imgFile.exists()){
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);
myImage.setImageBitmap(myBitmap);
}
存储的路径作为一个字符串 。
Editor e = PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit();
e.putString("your_preference", your_path.toString());
e.commit();
这也被问过很多时间,因此-1
final SharedPreferences sPreference = getSharedPreferences(
"pref_key", MODE_PRIVATE);
final Editor spEditor = sPreference.edit();
spEditor.putString("img_path", mFileName);
spEditor.commit();
上面的代码是保存图像路径到共享PREF有用。 现在,检索图片的路径,使用如下:
final SharedPreferences sharedPreference = getSharedPreferences(
"pref_key", MODE_PRIVATE);
if (sharedPreference.contains("img_path")) {
mFileName = sharedPreference.getString(img_path,
null);
}