SharedPreferences 文件名是什么?
What is the name of SharedPreferences file name?
我是 Android 的新手,我连续 6 个小时都被卡住了。
问题是我不知道首选项文件的名称,我需要从首选项文件中获取值。我正在使用 Android Studio 并创建了一个 "Settings Activity"。除了 SettingsActivity.java
.
之外,我一直没有给任何文件命名
所以我的问题是共享首选项文件的名称是什么(因为应用程序保留了这些值)。不然有什么办法可以查到。
或者我在代码中遗漏了一些明显的东西。以下是我的相关代码。
String key = "example_text";
final String PREF_FILE_NAME = "SettingsActivity";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
String value = preferences.getString(key, " null");
编辑 1:我有一个名为 RemoteDevice.java
的 activity,在这个 activity 中我有一个用于 Internet 使用的 Async Task 子类。现在我已经通过上面提到的 PreferencesActivity 存储了 IP 地址,现在想检索它。但是找不到。
编辑 2: 在下面的代码中,我试图从编辑文本中获取值。
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<!-- NOTE: EditTextPreference accepts EditText attributes. -->
<!-- NOTE: EditTextPreference's summary should be set to its value by the activity code. -->
<EditTextPreference
android:key="example_text"
android:title="@string/pref_host_ip_address"
android:defaultValue="@string/pref_default_host_address"
android:selectAllOnFocus="true"
android:inputType="numberDecimal"
android:digits="123456789."
android:capitalize="words"
android:singleLine="true"
android:maxLines="1" />
<!-- NOTE: Hide buttons to simplify the UI. Users can touch outside the dialog to
dismiss it. -->
<!-- NOTE: ListPreference's summary should be set to its value by the activity code. -->
<ListPreference
android:key="example_list"
android:title="@string/pref_title_add_friends_to_messages"
android:defaultValue="-1"
android:entries="@array/pref_example_list_titles"
android:entryValues="@array/pref_example_list_values"
android:negativeButtonText="@null"
android:positiveButtonText="@null" />
我猜这里 android:key
是要在
中作为参数传递的键
String value = preferences.getString(key, " null");
你可以使用这个:
String key = "example_text";
final String PREF_FILE_NAME = "SettingsActivity";
shared = getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE);
String value = preferences.getString(key, " null");
但首先你必须用你的密钥保存一些值,比如:
shared.edit().putString(key,"MY_VALUE").commit();
I am using Android Studio and created a "Settings Activity".
然后您通过 PreferenceManager.getDefaultSharedPreferences()
获得您的 SharedPreferences
。替换:
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
与:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
运行 您在真实设备上的项目,如果创建了 SharedPreferences 文件(它具有 .xml 扩展名),您可以在设备的根目录中找到它,这里有更多信息确切:
/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PREFS_NAME.xml
要么
/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PACKAGE_NAME_preferences.xml
顺便说一下,您可以只使用 getPreferences() 方法。改变你的
SharedPreferences 首选项 = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
进入
SharedPreferences 首选项 = getPreferences(MODE_PRIVATE);
您的 SharedPreferences 文件将获得默认名称。但请记住,只有在项目中不需要多个 SharedPreferences 文件时才值得使用 getPreferences() 而不是 getSharedPreferences()。
我是 Android 的新手,我连续 6 个小时都被卡住了。
问题是我不知道首选项文件的名称,我需要从首选项文件中获取值。我正在使用 Android Studio 并创建了一个 "Settings Activity"。除了 SettingsActivity.java
.
所以我的问题是共享首选项文件的名称是什么(因为应用程序保留了这些值)。不然有什么办法可以查到。
或者我在代码中遗漏了一些明显的东西。以下是我的相关代码。
String key = "example_text";
final String PREF_FILE_NAME = "SettingsActivity";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
String value = preferences.getString(key, " null");
编辑 1:我有一个名为 RemoteDevice.java
的 activity,在这个 activity 中我有一个用于 Internet 使用的 Async Task 子类。现在我已经通过上面提到的 PreferencesActivity 存储了 IP 地址,现在想检索它。但是找不到。
编辑 2: 在下面的代码中,我试图从编辑文本中获取值。
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<!-- NOTE: EditTextPreference accepts EditText attributes. -->
<!-- NOTE: EditTextPreference's summary should be set to its value by the activity code. -->
<EditTextPreference
android:key="example_text"
android:title="@string/pref_host_ip_address"
android:defaultValue="@string/pref_default_host_address"
android:selectAllOnFocus="true"
android:inputType="numberDecimal"
android:digits="123456789."
android:capitalize="words"
android:singleLine="true"
android:maxLines="1" />
<!-- NOTE: Hide buttons to simplify the UI. Users can touch outside the dialog to
dismiss it. -->
<!-- NOTE: ListPreference's summary should be set to its value by the activity code. -->
<ListPreference
android:key="example_list"
android:title="@string/pref_title_add_friends_to_messages"
android:defaultValue="-1"
android:entries="@array/pref_example_list_titles"
android:entryValues="@array/pref_example_list_values"
android:negativeButtonText="@null"
android:positiveButtonText="@null" />
我猜这里 android:key
是要在
String value = preferences.getString(key, " null");
你可以使用这个:
String key = "example_text";
final String PREF_FILE_NAME = "SettingsActivity";
shared = getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE);
String value = preferences.getString(key, " null");
但首先你必须用你的密钥保存一些值,比如:
shared.edit().putString(key,"MY_VALUE").commit();
I am using Android Studio and created a "Settings Activity".
然后您通过 PreferenceManager.getDefaultSharedPreferences()
获得您的 SharedPreferences
。替换:
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
与:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
运行 您在真实设备上的项目,如果创建了 SharedPreferences 文件(它具有 .xml 扩展名),您可以在设备的根目录中找到它,这里有更多信息确切:
/data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PREFS_NAME.xml 要么 /data/data/YOUR_PACKAGE_NAME/shared_prefs/YOUR_PACKAGE_NAME_preferences.xml
顺便说一下,您可以只使用 getPreferences() 方法。改变你的
SharedPreferences 首选项 = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
进入
SharedPreferences 首选项 = getPreferences(MODE_PRIVATE);
您的 SharedPreferences 文件将获得默认名称。但请记住,只有在项目中不需要多个 SharedPreferences 文件时才值得使用 getPreferences() 而不是 getSharedPreferences()。