Android高手进阶教程(七)之---Android 中Preferences的使用!

Android 中的 Preferences 是一种用于保存应用程序用户设置和配置信息的机制。它可以方便地存储和获取数据,而无需处理底层的文件读写操作。本文将详细介绍 Android 中 Preferences 的使用方法,并提供案例说明。

Preferences 可以分为两种类型:Shared Preferences 和 Preference Screens。Shared Preferences 适用于保存少量的数据,如用户设置的开关状态或当前城市。Preference Screens 适用于保存较复杂的数据,例如用户的个人资料。

首先,我们来看一下 Shared Preferences 的使用方法。首先,在 res 目录下的 xml 文件夹中创建一个名为 preferences.xml 的文件,用于定义存储的参数值。例如,我们可以在 preferences.xml 中定义一个名为 "user_age" 的参数:

```xml

android:key="user_age"

android:title="@string/user_age"

android:summary="@string/user_age_summary" />

```

接下来,在我们的 Activity 中使用以下代码来获取和设置 Shared Preferences:

```java

// 获取 Shared Preferences

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);

// 获取参数值

String userAge = sharedPreferences.getString("user_age", "");

// 设置参数值

sharedPreferences.edit().putString("user_age", "25").apply();

```

上述代码中,我们首先通过 PreferenceManager.getDefaultSharedPreferences() 方法获取了一个默认的 Shared Preferences 实例。然后,我们可以使用 getString() 方法获取参数值,并使用 edit().putString() 方法来设置参数值。

接下来,我们来看一下 Preference Screens 的使用方法。我们仍然需要在 preferences.xml 中定义参数值,例如,我们可以定义一个名为 "user_profile" 的 Preference Screen:

```xml

android:key="user_profile"

android:title="@string/user_profile"

android:summary="@string/user_profile_summary">

android:key="user_name"

android:title="@string/user_name"

android:summary="@string/user_name_summary" />

android:key="user_gender"

android:title="@string/user_gender"

android:summary="@string/user_gender_summary" />

```

然后,在我们的 Activity 中使用以下代码来获取和设置 Preference Screens:

```java

// 创建一个 Intent

Intent intent = new Intent(this, SettingsActivity.class);

// 启动 PreferenceScreen

startActivity(intent);

```

需要注意的是,我们需要创建一个名为 SettingsActivity.java 的新的 Activity,并在 AndroidManifest.xml 文件中声明该 Activity。

```java

public class SettingsActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_settings);

getSupportFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit();

}

public static class SettingsFragment extends PreferenceFragmentCompat {

@Override

public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {

setPreferencesFromResource(R.xml.preferences, rootKey);

}

}

}

```

上述代码中,我们使用 PreferenceFragmentCompat 类来创建一个 SettingsFragment,并在 onCreatePreferences() 方法中加载 preferences.xml。

以上就是 Android 中 Preferences 的使用方法和案例说明。通过 Preferences,我们可以方便地保存和获取应用程序的设置和配置信息。无论是保存一个简单的开关状态,还是保存一个复杂的用户个人资料,Preferences 都能够妥善地处理。希望本文对你的学习有所帮助! 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(111) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部