0

我正在将我的图像转换为字符串并将该字符串存储在 sharedpreferences 中。然后稍后在其他活动中,我想将该字符串转换回位图并将其显示在图像视图中。如果没有从 sharedpreference 中获取任何内容,也为了预防,我想在我的 ImageView 中将 ic_launcher 设置为默认图像。

这就是我试图完成上述任务的方式。

String pic = shared.getString("UserPic","");
    Log.i("picstring-verifydetail" , "picstring : "+pic);
    if (pic != null && pic != "") {
        try {
            userpic = ImageHelper.stringToImage(pic);
            profilepic.setImageBitmap(userpic);
        } catch (IOException e) {
            Log.e("picsetting", e.toString());
            e.printStackTrace();
        }
    }
    else
    {
        Bitmap defaultImage = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher);
        profilepic.setImageBitmap(defaultImage);
    }

我还存储了一些值,例如名称,并且已成功获取,但未从 sharedpreferences 中获取图像的字符串。它总是会出现其他部分,并且我再次收到错误:“找不到源” profilepic.setImageBitmap(defaultImage);。我搜索了logcat,但没有发现错误。

请帮助完成这两项任务。

谢谢和问候,
苏拉布·古普塔

4

2 回答 2

1

如果您将这些图像存储在assetsORres文件夹中。您可以只将图像名称存储到 中SharedPreferences,稍后您可以从中获取图像名称并通过从路径中获取它们来显示在屏幕上。

于 2013-07-12T19:58:44.757 回答
1

我不认为你试图做的是一个好主意。

尝试将图像保存在 SD 卡或内部存储中,并将文件路径存储在SharedPreferences.

于 2013-07-12T20:02:43.557 回答