Строка для Drawable Android

Я сохранил свой список drawables в sharedPreferences как строки. Они хранились следующим образом:

android.graphics.drawable.BitmapDrawable@269d6f8
android.graphics.drawable.BitmapDrawable@1c71e5b

Теперь я хочу преобразовать их обратно в Drawable, чтобы я мог их использовать. Есть идеи?

Код

 SharedPreferences.Editor editor=sharedpreferences.edit();
 editor.putString(s.getName(),(s.getLogo().toString()));
 editor.commit();

И мой Service s определяется как:

public Service(String name, Drawable logo) {
    this.name = name;
    this.logo=logo;
}

Я пытался сделать это, но это не сработало

String logo=entry.getValue().toString();
  //convert string to drawable
  byte [] encodeByte=Base64.decode(logo, Base64.DEFAULT);
  Bitmap bitmap= BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
  Drawable d = new BitmapDrawable(bitmap);

person hana    schedule 09.03.2017    source источник
comment
Получите список чертежей из sharedPreferences и используйте его.   -  person Chetan Joshi    schedule 09.03.2017
comment
Проблема в том, что я не могу привести строку к Drawable   -  person hana    schedule 09.03.2017
comment
Итак, как вы можете хранить их в форме, доступной для String .   -  person Chetan Joshi    schedule 09.03.2017
comment
вставьте свой код сюда   -  person Abhishek Singh    schedule 09.03.2017
comment
Вы можете получить строку из общих настроек и использовать отражение для приведения строки к рисунку: Field field = R.drawable.getField(drawable_string_name); int id = field.getInt(null); Drawable drawable = getResources().getDrawable(id);   -  person Badhrinath Canessane    schedule 09.03.2017
comment
Но у меня нет имени строки   -  person hana    schedule 09.03.2017
comment
@hana Я вижу, вы сохраняете предпочтение с ключом как s.getName() и значением как s.getLogo(). Вы можете получить обратно с помощью следующего синтаксиса: sharedpreferences.getString(s.getName(), DEFAULT_VALUE); Вы можете преобразовать полученную строку в drawable.   -  person Badhrinath Canessane    schedule 09.03.2017