当前位置: 代码迷 >> Android >> Android學習筆記 - 儲存偏好設订(Preference)
  详细解决方案

Android學習筆記 - 儲存偏好設订(Preference)

热度:40   发布时间:2016-05-01 18:57:40.0
Android學習筆記 - 儲存偏好設定(Preference)

1. 此範例是利用SharedPreferences來儲存使用者在某個程式內的偏好設定。

2. MainActivity.java

package org.me.android_preference;import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity {    private EditText nameEditText;    private Button saveButton;    private Button restoreButton;    @Override    public void onCreate(Bundle icicle) {        super.onCreate(icicle);        setContentView(R.layout.main);        nameEditText = (EditText) findViewById(R.id.nameEditText);        saveButton = (Button) findViewById(R.id.saveButton);        restoreButton = (Button) findViewById(R.id.restoreButton);        saveButton.setOnClickListener(saveClickListener);        restoreButton.setOnClickListener(restoreClickListener);    }    //按下Save按鈕    private Button.OnClickListener saveClickListener = new Button.OnClickListener() {        public void onClick(View arg0) {            //取得SharedPreference設定("Preference"為設定檔的名稱)            SharedPreferences settings = getSharedPreferences("Preference", 0);            //置入name屬性的字串            settings.edit().putString("name", nameEditText.getText().toString()).commit();        }    };    //按下Restore按鈕    private Button.OnClickListener restoreClickListener = new Button.OnClickListener() {        public void onClick(View arg0) {            //取得SharedPreference設定("Preference"為設定檔的名稱)            SharedPreferences settings = getSharedPreferences("Preference", 0);            //取出name屬性的字串            String name = settings.getString("name", "");            nameEditText.setText(name);        }    };}

?

3. main.xml(Layout)

?

<?xml version="1.0" encoding="utf-8"?><AbsoluteLayoutandroid:id="@+id/widget0"android:layout_width="fill_parent"android:layout_height="fill_parent"xmlns:android="http://schemas.android.com/apk/res/android"><TextViewandroid:id="@+id/nameView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Name:"android:layout_x="22px"android:layout_y="34px"></TextView><EditTextandroid:id="@+id/nameEditText"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="18sp"android:layout_x="90px"android:layout_y="20px"></EditText><Buttonandroid:id="@+id/saveButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Save"android:layout_x="20px"android:layout_y="86px"></Button><Buttonandroid:id="@+id/restoreButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Restore"android:layout_x="98px"android:layout_y="84px"></Button></AbsoluteLayout>
?

?

4. 執行之後的畫面。(按下Store將Name的值儲存在偏好設定,按下Restore會將儲存在偏好設定的值取回)

?

  相关解决方案