/* * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.example.android.apis.preference; import com.example.android.apis.R; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceActivity; import android.preference.PreferenceManager; /** * This activity is an example of a simple settings screen that has default * values. * <p> * In order for the default values to be populated into the * {@link SharedPreferences} (from the preferences XML file), the client must * call * {@link PreferenceManager#setDefaultValues(android.content.Context, int, boolean)}. * <p> * This should be called early, typically when the application is first created. * An easy way to do this is to have a common function for retrieving the * SharedPreferences that takes care of calling it. */ public class DefaultValues extends PreferenceActivity { // This is the global (to the .apk) name under which we store these // preferences. We want this to be unique from other preferences so that // we do not have unexpected name conflicts, and the framework can correctly // determine whether these preferences' defaults have already been written. static final String PREFS_NAME = "defaults"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getPrefs(this); getPreferenceManager().setSharedPreferencesName(PREFS_NAME); addPreferencesFromResource(R.xml.default_values); } static SharedPreferences getPrefs(Context context) { PreferenceManager.setDefaultValues(context, PREFS_NAME, MODE_PRIVATE, R.xml.default_values, false); return context.getSharedPreferences(PREFS_NAME, MODE_PRIVATE); } }