現在、ドローアブルを文字列に変換し、このメソッドを使用して共有設定を介して別のアクティビティに渡そうとしています。loadIconはDrawableです。
アクティビティ 1
try {
ai = pm.getApplicationInfo(pInfo.packageName, PackageManager.GET_META_DATA);
}
catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
loadIcon = ai.loadIcon(pm);
Log.i("Icon drawable", loadIcon.toString());
SharedPreferences preferences = getSharedPreferences("ANALYZE_PREF", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("drawable", loadIcon.toString());
editor.commit();
これは私がLogcatで得たものです:
11-06 10:13:28.995: I/Drawable shared(16786): android.graphics.drawable.BitmapDrawable@417f2aa8
他のアクティビティで取得しようとしています
アクティビティ 2
SharedPreferences settings = getSharedPreferences("ANALYZE_PREF", MODE_PRIVATE);
String drawableString = settings.getString("drawable", "");
Log.i("Drawable shared", drawableString);
Drawable drawableImage = getDrawable(drawableString);
imageView.setBackgroundDrawable(drawableImage);
public Drawable getDrawable(String bitmapUrl) {
try {
URL url = new URL(bitmapUrl);
Drawable d =new BitmapDrawable(BitmapFactory.decodeStream(url.openConnection().getInputStream()));
Log.i("d value", "d value " + d);
return d;
}
catch(Exception ex) {
Log.i("Null", "Drawable returns null");
return null;
}
}
ドローアブルに戻そうとすると null が返される
ログキャット:
11-06 10:13:28.995: I/Null(16786): Drawable returns null