Memorizzazione di un arrays String nelle SharedPreferences

Mi stavo chiedendo se fosse ansible salvare nelle preferenze condivise una serie di stringhe, in modo che, each volta che salviamo una certa string, lo memorizziamo in quella matrix.

Ad esempio, ho un elenco di posizioni con un determinato ID che voglio segnalare come preferito. La situazione ideale sarebbe avere una matrix e salvare un determinato ID di posizione (chiamarlo Location1) in quella matrix, quindi la prossima volta che voglio contrassegnare una nuova posizione come preferita (chiamarlo Location2), recupero quella matrix (che finora contiene Location1) e aggiunge l'ID di questa nuova posizione che voglio aggiungere (Location2).

  • Android LinearLayout fill-the-middle
  • Utilizzo di Proguard per Android in Eclipse ha avuto errori
  • Android Studio - Come posso fare un AVD con ARM invece di HAXM?
  • Caricare l'image multipla sul server php da android
  • Animare la transizione tra i frammenti
  • In Android, è ansible cambiare la camera (da davanti a dietro) e continuare a registrare?
  • Android dispone di methods per memorizzare oggetti primitivi, ma non per arrays. Qualche idea per farlo, per favore?

  • Android: RecyclerView contenuto sconvolto dopo lo scorrimento
  • Cosa c'è di nuovo nella tintura disegnabile in anteprima Android L Developer rispetto alla versione precedente?
  • Frammenti e notifiche: individuare attività diverse dalla notifica; a seconda della configuration dello schermo
  • Come call attività utilizzando ListView Array
  • android: output di parsing xml in tabella
  • Imansible risolvere l'exception di MediaController.show ()
  • 3 Solutions collect form web for “Memorizzazione di un arrays String nelle SharedPreferences”

    Scrivere methods per leggere e scrivere una matrix serializzata. Questo non dovrebbe essere troppo difficile. Solo appiattire la matrix di stringhe in una singola string memorizzata nelle preferenze. Un'altra opzione sarebbe quella di convertire l'arrays in una struttura XML che si memorizza nelle preferenze, ma probabilmente è overkill.

    Ciò è fattibile: stavo solo bloggando :

    SALVA IL TUO ARRAY

    //String arrays[] //SharedPreferences prefs Editor edit = prefs.edit(); edit.putInt("arrays_size", arrays.length); for(int i=0;i<arrays.length; i++) edit.putString("arrays_" + i, arrays[i]); edit.commit(); 

    RICORDA LA TUA ARRESTA

     int size = prefs.getInt("arrays_size", 0); arrays = new String[size]; for(int i=0; i<size; i++) prefs.getString("arrays_" + i, null); 

    Basta scrivere che così ci potrebbero essere errori di scrittura.

    Potresti rendere l'arrays un arrays JSON e memorizzarlo così:

     SharedPreferences settings = getSharedPreferences("SETTINGS KEY", 0); SharedPreferences.Editor editor = settings.edit(); JSONArray jArray = new JSONArray(); try { jArray.put(id); } catch (JSONException e) { e.printStackTrace(); } editor.putString("jArray", jArray.toString()); editor.commit(); 

    È quindi ansible get l'arrays come questo:

     SharedPreferences settings = getSharedPreferences("SETTINGS KEY", 0); try { JSONArray jArray = new JSONArray(settings.getString("jArray", "")); } catch (JSONException e) { e.printStackTrace(); } 

    Solo una soluzione alternativa che ho usato in passato

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.