0

名前とURLの2つの編集テキストがあります。「保存」ボタンを押した後、この情報を保存したいと思います。

そこで、SharedPreferencesを使用して保存することにしましたが、問題ありません。

SharedPreferences addActivityPrefs = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = addActivityPrefs.edit(); editor.putString("name", name.getText().toString()).commit(); editor.putString("url", url.getText().toString()).commit();

しかし、私の問題は、他の値を保存したいときに、以前の値を上書きし、それらすべてを保持したいということです。

これは私のxmlファイルです:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
     <string name="url">http://Google.co.uk</string>
     <string name="name">BBC world news feed</string>
</map>

そして私の目標はhttp://www.google.co.ukGOOGLE の ようなname-urlの多くのペアを保存することです

<map>
    <string name="url">http://www.yahoo.co.uk</string>
    <string name="name">YAhoo</string>
</map>

などなど。

4

2 に答える 2

0

URLと名前を使用してjsonオブジェクトを作成し、それらをjsonArrayに配置して文字列としてコミットするか、オブジェクトを作成して名前とURLを保存し、リストに配置してから、リストをシリアル化/逆シリアル化して配置することができます設定します。

PS: できれば UI スレッドからではなく、両方/すべての値を入れた後、commit を 1 回だけ呼び出すか、apply() を 1 回だけ呼び出します。

于 2013-03-23T19:41:58.497 に答える
0

配列を文字列として保存して保存することも、アイテムごとに新しいキーを作成することもできます。

  1. 場所1
  2. ロケーション2
  3. 場所3

2番目のアプローチを行うには、この質問を見ることができます:

設定の Android ストア配列

また、保存されたアイテムの数を持つキーがあるので、そのキーをロードし、インクリメントし、保存してから、新しいカウンターを新しいキーの名前として使用できます。location + cntr

于 2013-03-23T19:42:29.343 に答える