Формат файла XML по умолчанию для Android

Кажется, я единственный человек в Интернете, который не может этого понять, но когда я использую

PreferenceManager.setDefaultValues(this, R.xml.preference, false);

каков синтаксис файла XML для настроек по умолчанию. Я просто хочу установить для двух параметров значение true.

Я пробовал обычный формат строковых ресурсов Android, но, похоже, ничего не работает. Спасибо заранее.


person Jessy Diamond Exum    schedule 24.08.2011    source источник


Ответы (3)


Вы не единственный человек, который этого не знает. Даже я изо всех сил пытаюсь узнать формат файла XML. Наконец я нашел ответ! Ну вот!

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
    <EditTextPreference android:key="CLIENT_HOMESCREEN_TITLE"
                android:defaultValue="Home Screen"/>
    <EditTextPreference android:key="CLIENT_ADMIN_BUTTON"
                android:defaultValue="Admin"/>
    <EditTextPreference android:key="CLIENT_PLAYER_BUTTON"
                android:defaultValue="Player"/>
    <EditTextPreference android:key="CLIENT_SAVE_BUTTON"
                android:defaultValue="Save"/>
    <EditTextPreference android:key="CLIENT_CANCEL_BUTTON"
                android:defaultValue="Cancel"/>
    <EditTextPreference android:key="CLIENT_SERVER_SETUP_IP"
                android:defaultValue="IP:"/>
    <EditTextPreference android:key="CLIENT_SERVER_SETUP_PORT"
                android:defaultValue="Port:"/>
    <EditTextPreference android:key="CLIENT_SERVER_SETUP_TITLE"
                android:defaultValue="Server Setup"/>
</PreferenceScreen>
person Sathish    schedule 10.12.2013
comment
Я забыл, что я в итоге сделал, и мне уже давно не приходилось с этим сталкиваться, но если это xml, спасибо, это, безусловно, поможет мне в будущем. - person Jessy Diamond Exum; 12.12.2013

Используйте android:defaultValue следующим образом:

<CheckBoxPreference
        android:key="my_pref"
        android:defaultValue="true"
        android:title="@string/pref_title_my_pref"
        android:summary="@string/pref_summary_my_pref"/>
person devconsole    schedule 24.08.2011
comment
Проблема в том, что если я сначала не перейду на страницу настроек, мои настройки не будут установлены по умолчанию. В документации Android говорится, что если вам нужно установить настройки по умолчанию, используйте PreferenceManager.setDefaultValues ​​​​в onCreate вашего основного действия. Проблема в том, что я не знаю, как должен быть структурирован файл xml для этой функции.... - person Jessy Diamond Exum; 25.08.2011
comment
Если ваши настройки хранятся, например, в res/xml/settings.xml тогда все, что вам нужно сделать, это вызвать setDefaultValues с R.xml.settings из метода onCreate основного действия. - person devconsole; 25.08.2011
comment
Вы также можете указать true для параметра readAgain, потому что в противном случае значения по умолчанию устанавливаются только один раз, и вы не получаете значения по умолчанию для вновь введенных ключей настроек. Реализация запоминает, что она уже установила значения по умолчанию в закрытом ключе настроек. - person devconsole; 25.08.2011
comment
Спасибо за ответы. Я прочитал всю документацию, но проблема, с которой я столкнулся, заключается в том, что я не знаю, как сделать XML-файл для предоставления. Я знаю, как создать файл, но реальный xml, который туда входит, ускользает от меня. Я попробовал стандартный формат значений Android (тег ресурсов и строк и т. д.), но андроиду это не нравится. Все, что мне нужно, — это образец того, что может войти в R.xml.settings, и я буду очень счастлив. Спасибо заранее. - person Jessy Diamond Exum; 27.08.2011
comment
Вот пример: developer.android.com/resources/samples /ApiDemos/res/xml/ - person devconsole; 29.08.2011
comment
Еще лучше: developer.android.com/reference/android/preference/ - person devconsole; 29.08.2011

Каков синтаксис файла XML для настроек по умолчанию. Я просто хочу установить для двух настроек значение true.

Для этого просто установите значение по умолчанию на true

Какие бы значения по умолчанию вы не указали в XML-файле предпочтений, они будут установлены.

person Sandy    schedule 24.08.2011
comment
Я мог бы проверить в начале моей основной деятельности, назначены ли эти настройки, и если нет, установить для них значения по умолчанию, но Android предоставляет PreferenceManager.setDefaultValues, чтобы сделать это более удобным в обслуживании и менее массивной болью для большего количества настроек. Когда я впервые открываю скайп на андроиде, у него есть все предустановленные настройки, и я должен предположить, что это делается с помощью PreferenceManager.setDefaultValues, а не 200 строк проверки того, были ли установлены префы ранее. - person Jessy Diamond Exum; 25.08.2011
comment
Вот почему этот метод доступен :) - person Sandy; 25.08.2011