• 検索結果がありません。

プリファレンスを利用するアプリケーションの例

ドキュメント内 勉強用資料 Android (ページ 91-101)

第 4 章 インテント 55

6.4 プリファレンス

6.4.6 プリファレンスを利用するアプリケーションの例

それでは、プリファレンスファイルに対するデータの読み込みと書き込みを実行するアプリ ケーションを作ってみましょう。

まず最初に、次のようなプロジェクトを作成してください。

Project name preference Application name プリファレンス

Package name org.example.preference Create Activity PreferenceActivity

次に、main.xmlを次のように書き換えてください。

レイアウトXMLの例 main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TableLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:stretchColumns="1"

>

<TableRow>

<TextView android:text="キー"/>

<EditText android:id="@+id/putkey"/>

</TableRow>

<TableRow>

<TextView android:text="値"/>

<EditText android:id="@+id/putvalue"/>

</TableRow>

</TableLayout>

<Button android:id="@+id/put"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="書き込み"

/>

<TableLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:stretchColumns="1"

>

<TableRow>

<TextView android:text="キー"/>

<EditText android:id="@+id/getkey"/>

</TableRow>

</TableLayout>

<Button android:id="@+id/get"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="読み込み"

/>

<TextView android:id="@+id/getvalue"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

</LinearLayout>

次に、PreferenceActivity.javaを次のように書き換えてください。

プログラムの例 PreferenceActivity.java package org.example.preference;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.EditText;

import android.widget.Button;

import android.widget.TextView;

import android.content.SharedPreferences;

public class PreferenceActivity extends Activity { public static final String FILENAME = "preference";

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.main);

final Button put = (Button) findViewById(R.id.put);

put.setOnClickListener(new OnClickListener() { public void onClick(View v) {

put();

} });

final Button get = (Button) findViewById(R.id.get);

get.setOnClickListener(new OnClickListener() { public void onClick(View v) {

get();

} });

}

private void put() {

final EditText putkey =

(EditText) findViewById(R.id.putkey);

final EditText putvalue =

(EditText) findViewById(R.id.putvalue);

String key = putkey.getText().toString();

String value = putvalue.getText().toString();

SharedPreferences sp = getSharedPreferences(

FILENAME, MODE_PRIVATE);

SharedPreferences.Editor editor = sp.edit();

editor.putString(key, value);

editor.commit();

putkey.setText("");

putvalue.setText("");

参考文献 93 }

private void get() {

final EditText getkey =

(EditText) findViewById(R.id.getkey);

final TextView getvalue =

(TextView) findViewById(R.id.getvalue);

String key = getkey.getText().toString();

SharedPreferences sp = getSharedPreferences(

FILENAME, MODE_PRIVATE);

getvalue.setText("値: " + sp.getString(key, "undefined"));

} }

これで完成です。実行すると、三つのエディットテキストと二つのボタンが表示されるはず です。

1番目のエディットテキストにキー、2番目のエディットテキストに値を入力して、「書き込み」

ボタンをクリックすると、そのキーと値の組がプリファレンスファイルに書き込まれます。

また、3番目のエディットテキストにキーを入力して、「読み込み」ボタンをクリックすると、

そのキーを持つ組の値が、ボタンの下に表示されます。

参考文献

[Ableson,2009] Frank Ableson, Charlie Collins and Robi Sen, Unlocking Android: A Devel-oper’s Guide, Manning, 2009, ISBN 978-1-933988-67-2.

[Burnette,2008] Ed Burnette,Hello, Android: Introducing Google’s Mobile Development Plat-form, Pragmatic Bookshelf, 2008, ISBN 978-1-934356-17-3. 邦訳(長尾高弘)、『初めての Android』、オライリー・ジャパン、2009、ISBN 978-4-87311-409-5。

[DiMarzio,2008] Jerome DiMarzio,Android: A Programmer’s Guide, McGraw-Hill, 2008, ISBN 978-0-07-159988-7. 邦訳(土肥拓生)、『初めてのGoogle Androidプログラミング:サンプル で学ぶ必須作法と基本手順』、日経BP社、2009、ISBN 978-4-8222-8371-1。

[Meier,2009] Reto Meier, Professional Android Application Development, Wiley Publishing, 2009, ISBN 978-0-470-34471-2.

[Murphy,2009] Mark L. Murphy,The Busy Coder’s Guide to Android Development, Common-sWare, 2009, ISBN 978-0-9816780-0-9.

[Rogers,2009] Rick Rogers, John Lombardo, Zigurd Mednieks and Blake Meike,Android Ap-plication Development: Programming with the Google SDK, O’Reilly, 2009, ISBN 978-0-596-52147-9.

[木南,2008] 木南英夫、「Google Androidアプリ開発入門」、『組込みプレス』、Vol. 12、技術評 論社、2008、ISBN 978-4-7741-3571-7。

[木南,2009] 木南英夫、『Google Androidアプリケーション開発入門:画面作成からデバイス制 御まで 基本機能の全容』、日経BP社、2009、ISBN 978-4-8222-8390-2。

[江川,2008] 江川崇、竹端進、山田暁通、麻野耕一、山岡敏夫、藤井大助、窪田康大、藤田泰介、

佐野徹郎、『Google Android完全解説』、アスキー、2008、ISBN 978-4-7561-5130-8。

[江川,2009] 江川崇、藤井大助、麻野耕一、藤田泰介、山田暁通、山岡敏夫、佐野徹郎、竹端進、

『Google Androidプログラミング入門』、アスキー、2009、ISBN 978-4-04-867956-5。 [柴田,2009] 柴田文彦、藤枝崇史、伊原頌二、『入門Google Androidプログラミング』、インプ

レスジャパン、2009、ISBN 978-4-8443-2771-4。

[嶋,2008] 嶋是一、『Google Android入門:携帯電話開発の新技術』、技術評論社、2008、ISBN 978-4-7741-3462-8。

[嶋,2009] 嶋是一、中村秀樹、江川崇、杉本礼彦、安生真、内嶋教人、今村謙之、山崎淳、木南

英夫、安藤恐竜、「Androidアプリ開発「匠」への道」、『Software Design』、2009年3月号、

技術評論社、2009。

[布留川,2009] 布留川英一、『Android 1.5プログラミングバイブル』、ソシム、2009、ISBN 978-4-88337-663-6。

[柳井,2009] 柳井政和、『Google Androidアプリ開発ガイド』、秀和システム、2009、ISBN 978-4-7980-2300-7。

[若林,2009] 若林登、『はじめてのAndroidプログラミング』、工学社、2009、ISBN 978-4-7775-1435-9。

95

索引

.apk(拡張子), 9 .apkファイル, 9 .class(拡張子), 8 .classファイル, 8, 9 .dex(拡張子), 8 .dexファイル, 8, 9 3次ベジェ曲線, 74 AbsoluteLayout要素, 44 ACTION_DOWN, 80

ACTION_MOVE, 80 ACTION_UP, 80 Activity, 15, 84 activity要素, 56 add, 36, 52 ADT, 9

AlertDialog.Builder, 46 Android, 8

Android SDK, 9

android:background属性, 22 android:gravity属性, 28 android:id属性, 25

android:layout_height属性, 17, 42, 43 android:layout_width属性, 17, 42, 43 android:layout_x属性, 44

android:layout_y属性, 44 android:maxLength属性, 28 android:numeric属性, 28

android:orientation属性, 33, 42 android:scrollbars属性, 28 android:singleLine属性, 28 android:src属性, 54

android:stretchColumns属性, 44 android:text属性, 17

android:textColor属性, 22 android:textSize属性, 23 android:typeface属性, 17 AndroidManifest.xml, 16 Androidアプリケーション

のインストール, 14 の削除, 14

Androidアプリケーション, 8 Androidエミュレーター, 9, 14

のシェル, 14 Androidバイトコード, 8 Androidパッケージファイル, 9 Androidマニフェスト, 16, 56 application要素, 56

argb, 67

ArrayAdapter, 36 AVD, 10

BaseAdapter, 36 BitmapDrawable, 78 BLACK(色), 67 BLUE(色), 67 BMP, 54

BOLD(書体のスタイル), 76

BOLD_ITALIC(書体のスタイル), 76 Bornstein, Dan, 8

BREW, 8

BroadcastReceiver, 15 Bundle, 58

Button要素, 26 Canvas, 68 check, 34

CheckBox要素, 31 ClassCastException, 91 close, 74

Color, 67

color(リソースのタイプ), 19 color要素, 21

commit, 91

ContentProvider, 16 Context, 67, 84, 86, 88 create, 75

cubicTo, 74 CYAN(色), 67 d, 13

Dalvik VM, 8

Dalvik実行可能形式ファイル, 8, 9 decimal(エディットテキスト), 28 DEFAULT(書体), 75

Dialog, 46

DialogInterface.OnClickListener, 48 dimen(リソースのタイプ), 19

dimen要素, 23 DKGRAY(色), 67 dp(大きさの単位), 23 draw, 79

drawCircle, 69, 71 drawLine, 71 drawOval, 71, 72

drawPath, 73 drawRect, 71, 72 drawRoundRect, 71, 72 drawText, 75

drawTextOnPath, 77 Eclipse, 9

の使い方, 10 Eclipse Foundation, 9 edit, 90

EditText要素, 28 FileInputStream, 86 fileList, 88

FileOutputStream, 84 FILL, 71

FILL_AND_STROKE, 71 fill_parent(大きさ), 42

fill_parent(ウィジェットの大きさ), 17 findViewById, 25, 27

finish, 61 getAction, 80 getAdapter, 37 getBoolean, 59, 91 getBooleanArray, 59

getCheckedRadioButtonId, 34 getColor, 67

getDrawable, 78 getExtras, 59 getFloat, 91 getGroupId, 53 getHeight, 70 getInt, 59, 91 getIntArray, 59 getIntent, 58 getItem, 37 getItemId, 53 getLong, 91

getResources, 67, 78 getSharedPreferences, 90 getString, 59, 91

getStringArray, 59 getText, 28

getTitle, 53 getWidth, 70 getX, 80 getY, 80 GIF, 54 Google, 8, 9

GRAY(色), 67 GREEN(色), 67

horizontal(ラジオボタンの方向), 33 horizontal(リニアレイアウトの方向), 42 ID

ウィジェットの , 25

選択されたラジオボタンの , 34 IDE, 9

ImageView要素, 54 in(大きさの単位), 23 Intent, 55

invalidate, 80 isChecked, 31

ITALIC(書体のスタイル), 76 Java, 8

Java VM, 8 javac, 8 JDK, 9 JPEG, 16, 54

KEYCODE_0(キーコード), 82 KEYCODE_A(キーコード), 82

KEYCODE_DPAD_DOWN(キーコード), 82 KEYCODE_DPAD_CENTER(キーコード), 82 KEYCODE_DPAD_LEFT(キーコード), 82 KEYCODE_DPAD_RIGHT(キーコード), 82 KEYCODE_DPAD_UP(キーコード), 82 KEYCODE_ENTER(キーコード), 82 KEYCODE_SPACE(キーコード), 82 KeyEvent, 82

LENGTH_LONG, 45 LENGTH_SHORT, 45 LinearLayout要素, 42 lineTo, 73

Linux, 8 ListView, 36 Log, 13 LogCat, 14 LTGRAY(色), 67 MacOS, 8

MAGENTA(色), 67 makeText, 45 map要素, 90 Menu, 52 MenuItem, 52

mm(大きさの単位), 23

索引 97 MODE_PRIVATE(ファイル作成モード), 84,

90

MONOSPACE(書体), 75 monospace(フォント), 18 MotionEvent, 80

moveTo, 73

name属性, 19, 21, 23

NORMAL(書体のスタイル), 76 onActivityResult, 62

onClick, 26, 48, 50 OnClickListener, 26 onCreateOptionsMenu, 52 onDraw, 68, 80

onItemClick, 37

OnItemClickListener, 37 onItemSelected, 40

OnItemSelectedListener, 40 onKeyDown, 82

onKeyUp, 82

onNothingSelected, 40 onOptionsItemSelected, 52 onTouchEvent, 80

openFileInput, 86 openFileOutput, 84 Paint, 69

Paint.Style, 71 parseColor, 67 Path, 73 PNG, 16, 54

pt(大きさの単位), 23 putBoolean, 90

putExtra, 58, 62 putFloat, 90 putInt, 90 putLong, 90 putString, 90

px(大きさの単位), 23 R.java, 16, 21

RadioButton要素, 33 RadioGroup要素, 33 rCubicTo, 74 RectF, 72 RED(色), 67

resources要素, 19, 21, 23 RESULT_CANCELED, 62 RESULT_OK, 62

rgb, 67 rLineTo, 73 rMoveTo, 73

sans(フォント), 18 SANS_SERIF(書体), 75 SERIF(書体), 75 serif(フォント), 18 Service, 16

setAdapter, 36

setBackgroundColor, 67 setBounds, 78

setColor, 69 setContentView, 67

setDropDownViewResource, 39 setFocusable, 82

setFocusableInTouchMode, 82 setItems, 50

setMessage, 47

setNegativeButton, 47 setNeutralButton, 47 setOnClickListener, 27 setPositiveButton, 47 setResult, 62

setSelection, 40 setShortcut, 52 setStrokeWidth, 71 setStyle, 71 setText, 20, 26, 28 setTextSize, 75 setTitle, 47 setTypeface, 75 SharedPreferences, 90

SharedPreferences.Editor, 90 show, 45, 47

simple_list_item_1, 36

simple_spinner_dropdown_item, 39 simple_spinner_item, 39

sp(大きさの単位), 23 Spinner, 39

startActivityForResult, 55 string(リソースのタイプ), 19 string要素, 19, 90

STROKE, 71

Sun Microsystems, 9 Symbian, 8

TableLayout要素, 43 TableRow要素, 43

TextView, 26

TextView要素, 22, 23 Toast, 45

top(エディットテキスト), 28 toString, 29, 36, 39

TRANSPARENT(色), 67 Typeface, 75

vertical(エディットテキスト), 28 vertical(ラジオボタンの方向), 33 vertical(リニアレイアウトの方向), 42 View, 25, 66, 80, 82

WHITE(色), 67 Windows, 8

Windows bitmap, 54 Windows Mobile, 8

wrap_content(大きさ), 42

wrap_content(ウィジェットの大きさ), 17 XML文書, 16

x軸, 69

YELLOW(色), 67 y軸, 69

アクション, 80 の識別, 80 アクティビティー, 11, 15

の結果, 61 の終了, 61 値

拡張データの , 58 アダプター, 36, 39

スピナーのための , 39 リストビューのための , 36 アプリケーション

の実行, 11 アプリケーション名, 10 アラートダイアログ, 46

リストを持つ , 50 アルファ値, 22, 67 イタリック, 75, 76 位置

の取得, 80

ビットマップ画像の , 78 移動

カレントポイントの , 73 イベント, 26

イベントリスナー, 26 の設定, 27 の作り方, 26 スピナーの , 40

ダイアログの , 48 リストビューの , 37 イメージビュー, 54

色, 16, 22, 69 の記述, 21

のリソースファイル, 21 をあらわす整数, 67 を設定する属性, 22 インストール

Androidアプリケーションの , 14

インチ, 23

インテント, 55, 62 の取得, 58 ウィジェット, 12, 17

のID, 25

の大きさを設定する属性, 17 のクラス名, 25

の取得, 25 の作り方, 17 の名前, 25

エディターオブジェクト, 90 エディットテキスト, 17, 28 円, 71

大きさ, 16, 24 の記述, 23 の単位, 23

のリソースファイル, 23

ウィジェットの を設定する属性, 17 ビットマップ画像の , 78

ビューの , 70

文字の を設定する属性, 23 レイアウトの , 42

解像度, 23 書き込み

ファイルへの , 84 拡張データ, 58

の値, 58 の値の取得, 59 のキー, 58 の登録, 58 の取得, 58 カスケード

メソッド呼び出しの , 47 画素, 23

画像, 16 仮想マシン, 8 角

の丸い長方形, 71 画面, 15

カレントポイント, 73 の移動, 73

索引 99 キー, 82

拡張データの , 58 キーコード, 82

記述

色の , 21 大きさの , 23

リソースを参照する , 19 キャンバス, 68, 69

行, 43 強制的な

再描画, 80 曲線

の追加, 74 クラス名

ウィジェットの , 25 クラスライブラリ, 9

グラフィックス の描画, 68 形状

を閉じる, 74

を描画するメソッド, 71 結果

の設定, 61

アクティビティーの , 61 結果コード, 62

原点, 69 肯定ボタン, 47 項目

メニューの の追加, 52 コンテントプロバイダー, 15, 16 コンパイラ, 8, 9

サービス, 15 再描画

強制的な , 80 削除

Androidアプリケーションの , 14

作成

プロジェクトの , 10 座標系, 69

サンセリフ, 75 シェル

Androidエミュレーターの , 14 式

リソースを参照する , 20 識別

アクションの , 80 実行

アプリケーションの , 11 シャープ, 21

終了

アクティビティーの , 61

出力ストリーム, 84 取得

位置の , 80 インテントの , 58 ウィジェットの , 25 拡張データの値の , 59 拡張データのマップの , 58 ビットマップ画像の , 78 ショートカットキー

の設定, 52 初期設定

ラジオグループの , 34 書体, 75

のスタイル, 75 スタイル, 69

書体の , 75 描画の , 71 スピナー, 39

のイベントリスナー, 40 のためのアダプター, 39 整数

色をあらわす , 67 絶対座標, 73

絶対レイアウト, 42, 44 設定

イベントリスナーの , 27 結果の , 61

ショートカットキーの , 52 デフォルトの項目の , 40 ビューの , 67

セリフ, 75 線, 71

の幅, 71 選択されたラジオボタン

のID, 34 相対座標, 73 ソース

の編集, 12 属性

色を設定する , 22

ウィジェットの大きさを設定する , 17

フォントを設定する , 17 文字の大きさを設定する , 23 文字列を設定する , 17 ダイアログ, 46

のイベントリスナー, 48 楕円, 71

タグ, 13 タッチ, 80 単位

大きさの , 23

チェック

の判定, 31 チェックボックス, 17, 31 中立ボタン, 47

長方形, 71

角の丸い , 71 直線, 71

の追加, 73 追加

曲線の , 74 直線の , 73

メニューの項目の , 52 使い方

Eclipseの , 10 作り方

イベントリスナーの , 26 ウィジェットの , 17 ビューの , 66 レイアウトの , 42 ディレクトリ, 10

テーブルレイアウト, 42, 43 テキスト

の描画, 75 パスに沿った , 77 テキストエディター, 9 テキストビュー, 12, 17 デバッガー, 9

デフォルト

の項目の設定, 40 統合開発環境, 9

登録

拡張データの , 58 トースト, 15, 45

閉じる

形状を , 74 ドロップダウンリスト, 39 名前

ウィジェットの , 25 入力ストリーム, 86

塗りつぶし, 71 背景色

ビューの , 67 バイトコード, 8 倍率非依存ピクセル, 23 パス, 73

に沿ったテキスト, 77 パッケージエクスプローラー, 11 パッケージ名, 10

線の , 71 判定

チェックの , 31 ピクセル, 23, 69

ビットマップ画像, 54, 78 の位置と大きさ, 78 の取得, 78

の描画, 79

リソースとしての , 54 否定ボタン, 47

ビュー, 66, 80 の大きさ, 70 の設定, 67 の作り方, 66 の背景色, 67 描画

のスタイル, 71 グラフィックスの , 68 形状を するメソッド, 71 テキストの , 75

ビットマップ画像の , 79 ファイル, 10

からの読み込み, 86 への書き込み, 84 ファイル作成モード, 84, 90 ファイル名

のリスト, 88 フォーカス, 82 フォルダ, 10 フォント

を設定する属性, 17 不透明度, 67

太字, 75, 76 プラグイン, 9 プラットフォーム, 8 プリファレンス, 90

プリファレンスオブジェクト, 90 プリファレンスファイル, 90 ブロードキャストレシーバー, 15 プロジェクト, 10

の作成, 10 プロジェクト名, 10 ペイント, 69 編集

ソースの , 12 ポイント, 23

ボタン, 17, 26

密度非依存ピクセル, 23 ミリメートル, 23 メソッド

ドキュメント内 勉強用資料 Android (ページ 91-101)