Home >Java >javaTutorial >How Do I Access SharedPreferences from a PreferenceActivity in Another Android Activity?

How Do I Access SharedPreferences from a PreferenceActivity in Another Android Activity?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-03 03:45:10232browse

How Do I Access SharedPreferences from a PreferenceActivity in Another Android Activity?

Getting SharedPreferences from a PreferenceActivity in Android

When using a PreferenceActivity to display application settings, the preferences are automatically saved to SharedPreferences as users interact with them. However, accessing the SharedPreference name from another Activity can be challenging.

According to the documentation:

"To retrieve an instance of SharedPreferences that the preference hierarchy in this activity will use, call getDefaultSharedPreferences(android.content.Context) with a context in the same package as this activity."

Solution:

To retrieve the SharedPreferences name from another Activity, use the following code:

import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

This code retrieves the SharedPreferences instance using the application's context, which matches the package of the PreferenceActivity.

SharedPreferences and Activity-handled Preferences

SharedPreferences, as mentioned in the documentation, can be used across activities and services within an application, while activity-handled preferences are specific to a particular activity.

Using SharedPreferences

For shared preferences, it is recommended to use the default mode without specifying a file name:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);

However, you can also specify a file name:

SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);

To retrieve stored values:

int storedPreference = preferences.getInt("storedInt", 0);

To store values:

SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();

Using Activity-handled Preferences

To use preferences specific to an activity:

SharedPreferences preferences = getPreferences(MODE_PRIVATE);

The above is the detailed content of How Do I Access SharedPreferences from a PreferenceActivity in Another Android Activity?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn