SharedPreference در اندروید

Majid Ebrahimi
توسط Majid Ebrahimi،
چون مشکل بسیاری از دوستان چگونگی استفاده از شیرید پریفرنس است در این اموزش به آن خواهیم پرداخت. ابتدا کد های برنامه : SharedPreferencesExampleActivity.java public class SharedPreferencesExampleActivity extends Activity { /** Called when the activity is first created. */ SharedPreferences settings; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try { //our edit text/text box where the name will be entered final EditText name_edit_text = (EditText) this.findViewById(R.id.NameTxt); //getSharedPreferences() – Use this if you need multiple preferences files identified by name, //which you specify with the first parameter. //our preference name will be codeofaninja_shared_pref settings = getSharedPreferences(“codeofaninja_shared_pref”, 0); View.OnClickListener handler = new View.OnClickListener(){ public void onClick(View v) { switch (v.getId()) { case R.id.SaveBtn: //get entered value and set to a variable String name_input = name_edit_text.getText().toString(); //empty edit text field name_edit_text.setText(“”); //SAVE shared pref value SharedPreferences.Editor editor = settings.edit(); editor.putString(“name”, name_input); editor.commit(); //show button after saving Toast.makeText(SharedPreferencesExampleActivity.this, “You entered: “ + name_input, Toast.LENGTH_SHORT) .show(); break; case R.id.ShowSavedBtn: //RETRIEVE/load the saved shared pref value String name = settings.getString(“name”, null); Toast.makeText(SharedPreferencesExampleActivity.this, “Saved Name is: “ + name, Toast.LENGTH_LONG) .show(); break; } } }; //we will set the listeners findViewById(R.id.SaveBtn).setOnClickListener(handler); findViewById(R.id.ShowSavedBtn).setOnClickListener(handler); }catch(Exception e){ Log.e(“SharedPreferences Example”, e.toString()); } } }   main.xml: <?xml version=“1.0″ encoding=“utf-8″?> android:orientation=“vertical” android:layout_width=“fill_parent” android:layout_height=“fill_parent” > android:layout_width=“198dp” android:layout_height=“50sp” android:text=“” android:id=“@+id/NameTxt” android:singleLine=“true”> android:id=“@+id/SaveBtn” android:layout_width=“198dp” android:layout_height=“wrap_content” android:text=“Save Name” > android:id=“@+id/ShowSavedBtn” android:layout_width=“198dp” android:layout_height=“wrap_content” android:layout_alignRight=“@+id/SaveBtn” android:text=“Show Saved Name” >   کدها به خودی خود واضح هستند اما همانطور که می بینید مقدار ار ادیت تکست گرفته می شود و با شیرید پریفرنس ذخیره می شود.اما توجه داشته باشید بدون این کد editor.commit() کار ناتمام می ماند و مقدار ذخیره نمی شود. تصاویر: