从sharedpreference获取字符串,转换为位图,在imageview中显示

时间:2013-07-12 19:50:39

标签: android bitmap imageview sharedpreferences

我正在将我的图像转换为字符串并将该字符串存储在sharedpreferences中。然后在其他活动上我想获取该字符串转换回位图并在图像视图中显示它。另外,如果没有从共享首选项中获取任何内容,我想在我的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);
    }

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

请帮助完成这两项任务。

谢谢&问候,
Sourabh Gupta

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

我不认为你想要做的是一个好主意。

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