0

名前、年齢、おもちゃなど、2人の子供の詳細を保存する必要がある単純なAndroidアプリを作成しています。私は共有設定を使用してこれを行うことを計画していました。ここに私のxmlがあります:

prefs.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
  <PreferenceScreen android:title="Edit Child Details">
    <PreferenceScreen android:title="Edit Child 1 Details">
      <EditTextPreference android:title="Name" android:dialogTitle="Name of Child 1" android:key="name1" />
      <EditTextPreference android:title="Age" android:dialogTitle="Age of Child 1" android:key="age1" />
      <EditTextPreference android:title="Toy" android:dialogTitle="Toy of Child 1" android:key="toy1" />
    </PreferenceScreen>
    <PreferenceScreen android:title="Edit Child 2 Details">
      <EditTextPreference android:title="Name" android:dialogTitle="Name of Child 2" android:key="name2" />
      <EditTextPreference android:title="Age" android:dialogTitle="Age of Child 2" android:key="age2" />
      <EditTextPreference android:title="Toy" android:dialogTitle="Toy of Child 2" android:key="toy2" />
    </PreferenceScreen>
  <ListPreference android:entries="@array/child_array" android:entryValues="@array/child_array" android:key="child_selector" android:title="Select Child"/>
</PreferenceScreen>

strings.xml
<string-array name="child_array">
      <item >1</item>
      <item >2</item>   
</string-array>

これは sqllite データベースまたはローカル ストレージの方が優れていることはわかっていますが、これは基本的なアプリに過ぎず、私はまだ初心者です。

私がコードでやろうとしているのは、child_selector (つまり、ユーザーが子 1 または 2 のいずれかを選択する) 設定を照会し、アプリのそれぞれの子の詳細を読み取ることです。

これが最善の方法であるかどうかはよくわからないので、子供の詳細を参照する方法がわからないので、アドバイスをいただければ幸いです。私はいくつかの基本的なUNIXスクリプトスキルを持っており、これが配列ではないことを知っていますが、$ {string} [$ number]に相当するJavaを使用することさえ可能かどうかはわかりません

4

1 に答える 1

1

あなたの質問が何であるかはよくわかりませんが、設定画面が必要なく、共有設定のみが必要な場合は、これも実行できます。次のように、共有設定に直接保存できます。

// Retrieve an editor to modify the shared preferences.
SharedPreferences.Editor editor = mySharedPreferences.edit();
// Store new primitive types in the shared preferences object.
editor.putBoolean("isTrue", true);
editor.putFloat("lastFloat", 1f);
editor.putInt("wholeNumber", 2);
editor.putLong("aNumber", 3l);
editor.putString("textEntryValue", "Not Empty");
// Commit the changes.
editor.commit();

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


アップデート

共有設定は、簡単なデータを保存する最も簡単な方法です。または、ファイルに保存することもできますが、これはお勧めしません。そしてデータベース...共有設定に比べて多くのコード行が必要です。

したがって、簡単なテストのためだけの場合は、共有設定を使用します。

アプリケーションの終了時にデータを保存する必要がない場合は、独自の子クラスのリストを作成することもできます。ただし、データはアプリケーションを閉じるまでしか利用できません。

ブラジル

于 2012-07-26T08:04:11.867 に答える