Android рдРрдкреНрд╕ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧ

рдореБрдЭреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд┐рд╖рдп рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рдореИрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЖрд╡реЗрджрди рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕ рддрдереНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдХрд┐ рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреИрд╕реЗ рдХрд░реЗрдВред рдереЛрдбрд╝рд╛ рдЧреБрдЧрд▓реА рд╣реБрдИ, рдПрдХ рд▓реЗрдЦ рдорд┐рд▓рд╛ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рдЬрд╛рдирдиреЗ рдореЗрдВ рдорджрдж рдХреАред рдореИрдВрдиреЗ рд░реВрд╕реА рднрд╛рд╖реА рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдореВрд▓ рдкрд░ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред



рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ (рдФрд░ рди рдХреЗрд╡рд▓ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ - рдЗрд╕рдХреЗ рдмрд╛рдж рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ) ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред



рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ - рдЖрдк Res / xml рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╡рд░реАрдпрддрд╛рдПрдБред Xml рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдХреЛрдб рд╕реЗ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╡рд░реАрдпрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред xml рдлрд╝рд╛рдЗрд▓ред







рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЖрдЗрдЯрдо рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:





рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЖрдЗрдЯрдо рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:





рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрдХреНрд░реАрди



EditTextPreference



ListPreference



RingtonePreference



PreferenceScreen







рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдирд┐рдореНрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдЧрдП рдереЗред xml :



<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="First Category"> <CheckBoxPreference android:title="Checkbox Preference" android:defaultValue="false" android:summary="This preference can be true or false" android:key="checkboxPref" /> <ListPreference android:title="List Preference" android:summary="This preference allows to select an item in a array" android:key="listPref" android:defaultValue="digiGreen" android:entries="@array/listArray" android:entryValues="@array/listValues" /> </PreferenceCategory> <PreferenceCategory android:title="Second Category"> <EditTextPreference android:name="EditText Preference" android:summary="This allows you to enter a string" android:defaultValue="Nothing" android:title="Edit This Text" android:key="editTextPref" /> <RingtonePreference android:name="Ringtone Preference" android:summary="Select a ringtone" android:title="Ringtones" android:key="ringtonePref" /> <PreferenceScreen android:key="SecondPrefScreen" android:title="Second PreferenceScreen" android:summary="This is a second PreferenceScreen"> <EditTextPreference android:name="An other EditText Preference" android:summary="This is a preference in the second PreferenceScreen" android:title="Edit text" android:key="SecondEditTextPref" /> </PreferenceScreen> <Preference android:title="Custom Preference" android:summary="This works almost like a button" android:key="customPref" /> </PreferenceCategory> </PreferenceScreen>
      
      







Android: рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдФрд░ Android: entryValues тАЛтАЛрдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕реВрдЪреА рдореЗрдВ рдХреНрд░рдорд╢рдГ @ рд╕рд░рдгреА / listArray рдФрд░ @ array / listValues тАЛтАЛрдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИрдВред рдорд╛рдиреЛрдВ рдХреЛ Res / рдорд╛рди / arrays.xml рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



 <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="listArray"> <item>Number 1</item> <item>Number 2</item> <item>Number 3</item> <item>Number 4</item> </string-array> <string-array name="listValues"> <item>1</item> <item>2</item> <item>3</item> <item>4</item> </string-array> </resources>
      
      







рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд░реАрдпрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдЧрддрд┐рд╡рд┐рдзрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЧрддрд┐рд╡рд┐рдзрд┐ рдЙрджрд╛рд╣рд░рдг:



 package org.kaloer.preferenceexample; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.Preference.OnPreferenceClickListener; import android.widget.Toast; public class Preferences extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); // Get the custom preference Preference customPref = (Preference) findPreference("customPref"); customPref .setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { Toast.makeText(getBaseContext(), "The custom preference has been clicked", Toast.LENGTH_LONG).show(); SharedPreferences customSharedPreference = getSharedPreferences( "myCustomSharedPrefs", Activity.MODE_PRIVATE); SharedPreferences.Editor editor = customSharedPreference .edit(); editor.putString("myCustomPref", "The preference has been clicked"); editor.commit(); return true; } }); } }
      
      







рдФрд░ рдЖрдк рд╣рдорд╛рд░реА рдореБрдЦреНрдп рдЧрддрд┐рд╡рд┐рдзрд┐ рдкрд░ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



  @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button prefBtn = (Button) findViewById(R.id.prefButton); prefBtn.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent settingsActivity = new Intent(getBaseContext(), Preferences.class); startActivity(settingsActivity); } }); }
      
      







рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо getPrefs () рд╡рд┐рдзрд┐ рдХреЛ рдореБрдЦреНрдп рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ , рдЬрд┐рд╕реЗ рдСрдирд╕реНрдЯрд╛рд░реНрдЯ () рдЗрд╡реЗрдВрдЯ рдкрд░ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдСрдирд╕реНрдЯрд╛рд░реНрдЯ () , рдФрд░ рдСрдирдХреНрд░рд┐рдПрдЯ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рд╡реЗ рдЬреЛ рдЧреНрд▓рд╛рдиреЙрдп рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рдереЗред рд╣рдорд╛рд░реА getPrefs () рд╡рд┐рдзрд┐ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддреА рд╣реИ:



  boolean CheckboxPreference; String ListPreference; String editTextPreference; String ringtonePreference; String secondEditTextPreference; String customPref; private void getPrefs() { // Get the xml/preferences.xml preferences SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(getBaseContext()); CheckboxPreference = prefs.getBoolean("checkboxPref", true); ListPreference = prefs.getString("listPref", "nr1"); editTextPreference = prefs.getString("editTextPref", "Nothing has been entered"); ringtonePreference = prefs.getString("ringtonePref", "DEFAULT_RINGTONE_URI"); secondEditTextPreference = prefs.getString("SecondEditTextPref", "Nothing has been entered"); // Get the custom preference SharedPreferences mySharedPreferences = getSharedPreferences( "myCustomSharedPrefs", Activity.MODE_PRIVATE); customPref = mySharedPreferences.getString("myCusomPref", ""); }
      
      







рдФрд░ рдЕрдВрдд рдореЗрдВ, Androidmanifest.xml рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрдХреНрд░реАрди рдХреЗ рд╢реАрд░реНрд╖рдХ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "set_preferences" рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ"ред



 <activity android:name=".Preferences" android:label="@string/set_preferences"> </activity>
      
      







рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓рддреЗ рд╣реИрдВ:

рдореБрдЦреНрдп рдЧрддрд┐рд╡рд┐рдзрд┐ рд╕реНрдХреНрд░реАрди



рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдЧрддрд┐рд╡рд┐рдзрд┐






All Articles