@blog.justoneplanet.info

日々勉強

androidで設定画面を作る

androidでは簡単に設定画面が実装できる。

■設定画面

PreferenceActivity

まぁ、こんな感じ。setContentView(R.layout.main);ではなくaddPreferencesFromResource(R.layout.main);を使用する。

package info.justoneplanet.android.usepreference;

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

public class MainActivity extends PreferenceActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.layout.main);
    }
}

res/layout/main.xml

どちらかというとxmlファイルの記述量の方が多い。

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceScreen
        android:title="Group1"
        android:summary="the setting of group 1">
        <PreferenceCategory android:title="Check">
            <CheckBoxPreference
	            android:key="check"
	            android:title="check"
	            android:summary="check!"
	            android:defaultValue="true" />
        </PreferenceCategory>
        <PreferenceCategory android:title="ID">
            <EditTextPreference
                android:key="name"
                android:title="name"
                android:summary="Input your name."
                android:defaultValue="" />
            <EditTextPreference
                android:key="pass"
                android:title="pass"
                android:summary="Input your password."
                android:defaultValue="" />
        </PreferenceCategory>
        <PreferenceCategory android:title="List">
            <ListPreference
                android:key="list"
                android:title="list"
                android:summary="this is a list of preference"
                android:defaultValue=""
                android:entries="@array/prference"
                android:entryValues="@array/prferenceval" />
        </PreferenceCategory>
    </PreferenceScreen>
</PreferenceScreen>

res/values/arrays.xml

ListPreferenceの中身は別ファイルにしておいた。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="prference">
        <item>selection 1</item>
        <item>selection 2</item>
        <item>selection 3</item>
    </string-array>
    <string-array name="prferenceval">
        <item>1</item>
        <item>2</item>
        <item>3</item>
    </string-array>
</resources>

■設定値の使用

以下のようにするとアプリケーションから設定値を使用することができる。

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String name = sharedPreferences.getString("name", "");
String pass = sharedPreferences.getString("pass", "");

コメントはまだありません»

No comments yet.

RSS feed for comments on this post.TrackBack URL

Leave a comment