Я хочу, чтобы преобразовать Drawable в Int, а затем вице-versa.Basically Я хочу, чтобы сохранить Список_массивы объекта в sharedPrefrence. Для этой цели я внедрил Gson в метод преобразования Srtring. Если я использую здесь Drawable вместо int, то конверсия Gons String занимает много времени. поэтому я хочу использовать int вместо Drawable.Как конвертировать вытяжку в междунар и наоборот в Android
private List<AppInfo> apps = null;
public void setIcon(int icon) {
this.icon = icon;
}
apps.get(position).setIcon(mContext.getResources().getDrawable(apps.get(position).getIcon()));
Где AppInfo здесь
public AppInfo(String appname, String pname, String versionName, int versionCode, int icon, int color) {
this.appname = appname;
this.pname = pname;
this.versionName = versionName;
this.versionCode = versionCode;
this.icon = icon;
this.color = color;
}
Вот источник Преобразование ArrayList пользовательских объектов в строки, так что я могу сохранить его в SharedPrefrence.
Gson gson = new Gson();
apps.get(number).setColor(picker.getColor());
String JsonAppsdata = gson.toJson(apps);
System.out.println("Storing="+JsonAppsdata);
utility.StoreData(getApplicationContext(), JsonAppsdata);
У вас есть все иконки в ваших ресурсах? Или вы загружаете их с сервера? –
А как вы заполняете список приложений? –
В первый раз я заполняю его из res/drawable, после чего, если кто-то (пользователь) хочет изменить этот значок с каким-то в значке системного приложения, тогда мне нужно получить значок приложения для установки системы. Короче говоря, некоторое время мне нужно получить от res/drawable, а иногда мне нужно получить значки от иконки приложения приложения из системы, с помощью этого mContext.getPackageManager(). GetApplicationIcon (apps.get (position) .getPname()) –