Android Preferences 示例

17 Mar 2025 | 阅读 2 分钟

Android Shared Preference 用于存储和检索基本信息。在 Android 中,字符串、整数、长整数、数字等都被视为基本数据类型。

Android Shared preferences 使用键值对来存储数据,这样我们就可以根据键检索值。

它广泛用于从用户那里获取信息,例如在设置中。

Android Preferences 示例

让我们来看一个简单的 Android Shared Preference 示例。

android preference directory output 1

activity_main.xml

从调色板中拖出一个 TextView 和两个 Button。

文件:activity_main.xml

array.xml

它创建在 res/values 目录下。

文件:array.xml

prefs.xml

它创建在 res/xml 目录下。

文件:prefs.xml

主 Activity 类

文件:MainActivity.java
package example.javatpoint.com.preferences;

import android.content.Intent;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button storeinformation = (Button) findViewById(R.id.storeinformation);
        Button showinformation = (Button) findViewById(R.id.showinformation);
        textView = (TextView) findViewById(R.id.txtPrefs);

        View.OnClickListener listener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                switch (v.getId()) {
                    case R.id.storeinformation:
                        Intent intent = new Intent(MainActivity.this,PrefsActivity.class);
                        startActivity(intent);
                        break;
                    case R.id.showinformation:
                        displaySharedPreferences();
                        break;
                    default:
                        break;
                }
            }
        };
        storeinformation.setOnClickListener(listener);
        showinformation.setOnClickListener(listener);
    }


    private void displaySharedPreferences() {
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
        String username = prefs.getString("username", "Default NickName");
        String passw = prefs.getString("password", "Default Password");
        boolean checkBox = prefs.getBoolean("checkBox", false);
        String listPrefs = prefs.getString("listpref", "Default list prefs");


        StringBuilder builder = new StringBuilder();
        builder.append("Username: " + username + "\n");
        builder.append("Password: " + passw + "\n");
        builder.append("Keep me logged in: " + String.valueOf(checkBox) + "\n");
        builder.append("List preference: " + listPrefs);
        textView.setText(builder.toString());

    }

}

PrefsActivity 类

文件:PrefsActivity.java
package example.javatpoint.com.preferences;

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class PrefsActivity extends PreferenceActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.prefs);
    }
}

AndroidManifest.xml

文件:AndroidManifest.xml

输出

android preference example output 1 android preference example output 2 android preference example output 3 android preference example output 4