Come memorizzare il valore del colore in SharedMemory?

Scrivo un semplice programma che comport il cambiamento di colore di alcuni elementi. Per cambiare il colore, devo memorizzare il valore di colore (che ottengo dal selezionatore di colore) nella SharedMemory. Ho il seguente codice di selezione colore:

public class MainActivity extends Activity implements OnColorChangedListener { private ColorPicker picker; private SVBar svBar; private OpacityBar opacityBar; private Button button; private TextView text; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); picker = (ColorPicker) findViewById(R.id.picker); svBar = (SVBar) findViewById(R.id.svbar); opacityBar = (OpacityBar) findViewById(R.id.opacitybar); button = (Button) findViewById(R.id.button1); text = (TextView) findViewById(R.id.textView1); picker.addSVBar(svBar); picker.addOpacityBar(opacityBar); picker.setOnColorChangedListener(this); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Log.v("Color",""+ picker.getColor()); text.setTextColor(picker.getColor()); picker.setOldCenterColor(picker.getColor()); } }); } @Override public void onColorChanged(int color) { //gives the color when it's changed. } } 

Come posso memorizzare il valore di picker.getColor () in SharedMemory?

  • Tasti speciali di KeyEvent (come il muto)
  • Che cos'è 'android.security.MessageDigest' '?
  • Il lettore di YouTube per Android si blocca durante la riproduzione degli annunci
  • Android come visualizzare 2 listviews in un'attività una dopo l'altra
  • Modificare il metodo di input di dispositivo Android in modo programmato android
  • È necessario bisogno di actionbarsherlock?
  • 5 Solutions collect form web for “Come memorizzare il valore del colore in SharedMemory?”

     @Override public void onColorChanged(int color) { SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPref.edit(); editor.putInt(getString(R.string.mycolor), color); editor.commit(); } 

    Per get il colore memorizzato dalla preferenza condivisa, utilizzare questo

      SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); int storedColor = sharedPref.getInt(getString(R.string.mycolor), 0); 

    User SharedPreference per memorizzare il valore di colore.

    La preferenza condivisa è il luogo in cui è ansible memorizzare i dati persistenti fino all'esistenza dell'applicazione di tempo sul dispositivo e se l'utente non cancella la memory dell'applicazione tramite le impostazioni.

    Se vuoi memorizzare una serie di colors, consulta questo post: https://stackoverflow.com/a/12350878/2035885

    Se è necessario memorizzare un solo valore, fare riferimento al seguito:

     public static int getColor(Context context) { SharedPreferences sharedPreference = context.getSharedPreferences("your_shared_preference_name",Context.MODE_PRIVATE); return sharedPreference.getInt("key_to_use_to_set_and_retrieve_value", 0); } public static void setColor(Context context,int color) { SharedPreferences store = context.getSharedPreferences(MenuActivity.class.getSimpleName(),Context.MODE_PRIVATE); SharedPreferences.Editor edit = store.edit(); edit.putInt("key_to_use_to_set_and_retrieve_value", color); edit.commit(); } 

    Conservalo come int . Questo è già quello che è.

     @Override public void onColorChanged(int color) { // omitted: get a SharedPreferences object first sharedPreferences.edit().putInt("color", color).apply(); } 
     // try this way,hope this will help you... //Set To SharedPreferences SharedPreferences sharedPreferences = getSharedPreferences("yourSharePreferenceName", MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putInt("pickerColor",picker.getColor() ); editor.commit(); //Get From SharedPreferences SharedPreferences sharedPreferences = getSharedPreferences("yourSharePreferenceName", MODE_PRIVATE); picker.setOldCenterColor(sharedPreferences.getInt("pickerColor",0)); 

    java è stato seguito

     package com.example.sharedpreferenceexample; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.preference.PreferenceManager; public class Utils { public static void savePreferences(Activity activity, String key1, int value1) { SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(activity.getApplicationContext()); Editor editor = sp.edit(); editor.putInt(key1, value1); editor.commit(); } public static int readPreferences(Activity activity, String key, int defaultValue) { SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(activity.getApplicationContext()); return sp.getInt(key, defaultValue); } } 

    e utilizzarlo come segue

    salvare

     Utils.savePreferences(MainActivity.this, "colorKey", colorValue); 

    leggere

      Utils.readPreferences(MainActivity.this, "colorKey", 0) 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.