我正在编写一个简单的 android 应用程序,它需要存储 2 个孩子的详细信息,即姓名、年龄、玩具。我打算使用共享首选项来做到这一点。这是我的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 等价物是否可行