サンプル集 |
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■other |
Linuxコマンド |
用語集 |
debian メモ |
apache2 メモ |
MySQL メモ |
Oracle メモ |
HOME |
PreferenceFragmentを使って設定画面を作ります。 Android API Level 11以降は、PreferenceAcrivityではなくPreferenceFragmentを使います。
◆環境OS | Windows 7 Professional Service Pack 1 64bit |
---|---|
eclipse | 4.2.2 |
Android | 4.4 |
Android端末 | Nexus7 |
@eclipseで[File]-[New]-[Project]を選択します。
ANew Projectウィンドウが開いたら[Android]-[Android Application Project]を選択し「Next」ボタンを押します。
BNew Android Applicationウィンドウが開いたら「Aplication Name」に SettingTest と入力し、 Minimum Required SDKは「API 11: Android 3.0 (Honeycomb)」を選択し、「Next」ボタンを押します。
CConfigure Projectウィンドウが開いたらそのまま「Next」ボタンを押します。
DConfigure the attributes of the icon setウィンドウが開いたらそのまま「Next」ボタンを押します。
ECreate Activityウィンドウが開いたらそのまま「Next」ボタンを押します。
FBlank Activityウィンドウが開いたらそのまま「Finish」ボタンを押します。
設定項目を書くためのXMLファイルを追加します。
@プロジェクト名を右クリックし、[New]-[Ohter...]を選択します。
A[Android]-[Android XML File]を選択し[Next]を押します。
Resource TypeをPreferenceに、Fileにmypreferenceと入力し、Root ElementはPreferenceScreenを選択し[Finish]を押します。
追加したXMLを編集します。
PreferenceScreenを選択し[Add]ボタンを押します。
EditTextPreferenceを選択し[OK]ボタンを押します。
EditTextPreferenceを選択しAttributes from Preferenceを開き、Key、Type、Summaryを入力します。
同じ手順でphone(電話番号)も追加しました。
PreferenceFragmentから派生するクラスMyPrefsを追加し、onCreateで読み込むようにします。
MainActivity.java | ||
|
実行します。
xmlで指定した項目が表示されました。 氏名をタップしてみます。
入力ダイアログが開きました。 Preference Testと入力し[OK]を押します。
再度、氏名をタップして開くと入力した内容が表示されました。
入力した内容はxml形式でshared_prefs配下に保存されていました。
shell@android:/ $ run-as com.example.settingtest
run-as com.example.settingtest
shell@android:/data/data/com.example.settingtest $ cd shared_prefs
cd shared_prefs
shell@android:/data/data/com.example.settingtest/shared_prefs $ cat com
.example.settingtest_preferences.xml
.example.settingtest_preferences.xml <
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="phone"></string>
<string name="name">Preference test</string>
</map>
Fragment
Android 3.0から導入され、4.0からスマートフォンでも利用できるようになったようです。
Fragment導入前は、Activityの上にLayoutやViewなどの部品を配置していました。 Fragmet導入後はActivityの上にFragmentを配置し、その上にLayoutやViewなどの部品を配置するようになったようです。
Copyright (C) 2014 ymlib.com