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

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

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

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

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


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


Ответы (3)


arrow_upward
1
arrow_downward

Вы не единственный человек, который этого не знает. Даже я изо всех сил пытаюсь узнать формат файла 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

arrow_upward
3
arrow_downward

Используйте 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

arrow_upward
0
arrow_downward

Каков синтаксис файла 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