0

重複の可能性:
SharedPreferences 内の文字列の配列

私は Android の初心者であり、Preferences から String[] を保存および取得する方法を研究したいと考えています。今のところ、コードのサンプルが 2 つあります。保存用はこれ

    void saveText() {
    sPref = getSharedPreferences("MyPref", MODE_PRIVATE);
    Editor ed = sPref.edit();
    ed.putString(SAVED_TEXT, position_name);
    ed.commit();
}

そして position_name は EditText 入力として来ました。まず、文字列配列に保存してから、文字列配列を設定に保存する必要があります。ロードのために、次のコードがあります

    void loadText() {
    sPref = getSharedPreferences("MyPref", MODE_PRIVATE);
    String position_name = sPref.getString(SAVED_TEXT, "");
    bazar.add(new Bazar(position_name, R.drawable.unread));
}

どちらのメソッドも静的ですが、動的な String 型のデータで動作するようにしたいと考えています。要するに、文字列配列に格納する必要があるデータを入力してから、文字列配列を設定に格納し、アクティビティをロードするときに、それらの格納されたデータを取得する必要があります。さまざまなアプローチを試みましたが、結果はありませんでした。これについて私を助けてもらえますか。

4

3 に答える 3

1

API レベル 11 以降では、SharedPreferences を使用して文字列のセットを保存できます。見getStringSet()て、putStringSet()

11 より前の API レベルでは、ある種のハックを使用できます。たとえば、文字列配列をキー「stringArray」の下に保存する必要がある場合、putString とキー「stringArray.1」、「stringArray.2」などを使用して配列から各文字列を保存できます。

于 2012-10-11T13:24:23.767 に答える
0

、(comma)seperatorで文字列として保存し、フェッチ中はsplit()を使用します

string str="";
str += "item1,";
.
.

SharePreferenceとcommit()でString strを設定します。配列で同じものを取得するには、次のようにします。SharePreferenceからprefStrを取得します。

String[] Array= prefStr.split(",");

それがあなたを助けることを願っています。

于 2012-10-11T13:37:11.460 に答える
0

共有設定はプリミティブ変数のみをサポートするため、少なくとも api 11 の下では何もできません。それよりも低い場合は、配列を段階的に進めて、ここのように個別に配置することができますhttp://www.sherif .mobi/2012/05/string-arrays-and-object-arrays-in.html?m=1

私が個人的に行っているのは、オブジェクトをシリアライズして、それを 0 と 1 にすることです。次に、それをそこに入れます。シリアル化クラスを取得するか、自分で作成する必要があり ます ArrayList を SharedPreferences に保存します

恥ずかしいけど。簡単な検索でこれらの結果が得られます

于 2012-10-11T13:35:06.423 に答える