انا استخدم الكلاس SharedPreferences في تطبيقي لحفظ حالة الradiobutton
لكني لا استطيع حفظ حالة صورة
هل هناك طريقة معينة لحفظ الصور باستخدام SharedPreferences او غيره
وشكرا
هذا الكلاس الرئيسي
private static final String PREF_FILE = "com.example.android.preferences";
private RadioButton radio1, radio2, radio3;
private SharedPreferences sharedPreferences;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radio1 = findViewById(R.id.radio1);
radio2 = findViewById(R.id.radio2);
radio3 = findViewById(R.id.radio3);
imageView = findViewById(R.id.image);
radio1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageView.setImageResource(R.drawable.paris);
}
});
radio2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageView.setImageResource(R.drawable.new_york);
}
});
radio3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageView.setImageResource(R.drawable.istanbul);
}
});
}
@Override
protected void onResume() {
super.onResume();
sharedPreferences = getSharedPreferences(PREF_FILE, Context.MODE_PRIVATE);
radio1.setChecked(sharedPreferences.getBoolean(radio1.getId()+"", false));
radio2.setChecked(sharedPreferences.getBoolean(radio2.getId()+"", false));
radio3.setChecked(sharedPreferences.getBoolean(radio3.getId()+"", false));
// مشكلتي في هذا السطر
imageView.setImageResource(sharedPreferences.getInt(radio1.getId()+"", R.drawable.paris));
}
@Override
protected void onPause() {
super.onPause();
sharedPreferences = getSharedPreferences(PREF_FILE, Context.MODE_PRIVATE);
sharedPreferences.edit().putBoolean(radio1.getId()+"", radio1.isChecked()).apply();
sharedPreferences.edit().putBoolean(radio2.getId()+"", radio2.isChecked()).apply();
sharedPreferences.edit().putBoolean(radio3.getId()+"", radio3.isChecked()).apply();
// وايضا في هذا السطر
sharedPreferences.edit().putString(radio1.getId()+"", "/sdcard/paris.jpg").apply();
}
هذا ملف xml للكلاس الرئيسي
<ImageView
android:id="@+id/image"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:background="#00f"
android:layout_marginTop="20dp"
/>
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/group">
<RadioButton
android:id="@+id/radio1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Paris"
android:layout_gravity="center"
/>
<RadioButton
android:id="@+id/radio2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="New york"
android:layout_gravity="center"
/>
<RadioButton
android:id="@+id/radio3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Istanbul"
android:layout_gravity="center"
/>
</RadioGroup>