[音量設定アプリ] 第1回 着信音量を設定する方法

By 松田幸一
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加
音量設定アプリ完成版

図1.音量設定アプリ完成版

図1 は音量設定アプリチュートリアルシリーズの最終目標イメージです。

音量設定アプリ 第1回 着信音量設定

図2.第1回 着信音量設定

図2.は今回作成するアプリ画面です。

1.Android プロジェクトを作成する

作業は全てEclipseを使用します。
File > New > Android Project (私の開発環境は日本語化していないので英語表記になります。適宜読み替えてください)
表示されたダイアログに下記を入力します。

Project Name : VolumeSetting00
Build Target : Android 1.6 にチェック
Application Name : 音量設定
Package Name : jp.co.techfirm.matsuda.volumesetting
Create Activity : VolumeSetting

そのほかは初期値もしくは自動で入力されるままです。

2.画面に表示される文字列を設定する

作成された /res/valules/string.xml を開きます。

文字列の設定

図3.文字列の設定

string.xml を開くと図3.のような画面が開きます。

hello を選択して削除(Remove)
Addを押して、表示されたダイアログで Stringを選択しOKボタンをクリックします。
画面右側に表示されるテキストボックスに下記を入力します。
Name : Ring
Value : 着信音量

string.xml を保存してファイルは閉じてかまいません。

3.レイアウト(画面イメージ)を作成する

/res/layout/main.xml を開きます。

画面レイアウト

図4.画面レイアウト

@string/hello と書かれている文字をクリックします。周辺が赤い枠で囲われます。
properties を編集します。

Gravity :    center
Text :    @string/app_name
Text appearance :    @android:style/TextAppearance.Large
(貼り付けるときは右クリックで貼り付けを選択します。Ctrl + V だと貼り付けられませんでした。)

次に、レイアウトやテキストビュー、シークバーを追加していきます。
追加する方法は、左側に並んだリストから黒い画面にドラッグ&ドロップします。

部品を適当に追加

図5.部品を適当に追加

ドラッグ&ドロップするときに、ここに配置するみたいな表示が出ますが気にせずに必要なものを左から右へとやります。
追加したものは下記です。

LinearLayout 3個
TextView 2個
SeekBar 1個

Outline で下図のように各部品を移動します。移動は上矢印と下矢印を使います。

アウトラインで部品を移動

図6.アウトラインで部品を移動

次に properties を編集していきます。outlineで部品を選択してpropertiesで下記を入力してください。

・LinearLayout01

Orientation vertical
Padding left 20sp
Padding right 15sp
Layout gravity center
Layout height fill_parent
Layout width fill_parent

・LinearLayout02

Orientation vertical
Layout width fill_parent

・TextView01

Layout width fill_parent
Text @string/Ring
Text appearance @android:style/TextAppearance.Medium

・LinearLayout03

Orientation horizontal
Layout width fill_parent

・SeekBar01

Layout weight 1
Layout width fill_parent
Id @+id/sbRing

・TextView02

Layout gravity center
Layout height fill_parent
Layout weight 4
Layout width fill_parent
Gravity center
Id @+id/tvRing
Text 1
Text appearance @android:style/TextAppearance.Large

作業後のレイアウト

図7.作業後のレイアウト

実行してみると、とりあえずSeekBarは触れます。日本語も正しく表示されています。
main.xml は閉じてしまってかまいません。

4.ソースコードを書く

/src/…./VolumeSetting.java を開きます。

現在の音量の取得や、新しく音量を設定するためのサービスを取得します。

SeekBar の最大値を設定、値が変更されたときのListenerを設定します。

現在の音量を取得してSeekBarとTextViewに値を設定します。
AudioManager.STREAM_RING は着信音量を指定する文字列です。
AudioManager.STREAM_**** で他の音量を指定することができます。

音量を設定しています。arg1 は設定する音量、最後 flag は使用しませんので 0 としました。
flag に AudioManager.FLAG_SHOW_UI を設定すると音量変更のダイアログが表示されます。

ソースコード

5.実行

実行 縦

図8.実行 縦画面

実行 横画面

図9.実行 横画面

(あ、メール着てますね)

・[音量設定アプリ]第1回 着信音量を設定する方法
[音量設定アプリ]第2回 着信、通知、アラーム、メディア、通話音量を設定
[音量設定アプリ]第3回 スクロールビュー(ScrollView)に対応する
[音量設定アプリ]第4回 マナーモードの設定をする
[音量設定アプリ]第5回 ハードウェアキー(音量ボタン)が押されたときの処理を行う

関連する投稿