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

最近の更新履歴 kaimunantai

N/A
N/A
Protected

Academic year: 2018

シェア "最近の更新履歴 kaimunantai"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

ちょっと試して Android アプリ開発

STEP-01

ダイアログ型タイマ

 

(C)2013 皆無軟体 / KeinSoft

※ STEP-00の手順に従って、Android Developer Toolsのインストールおよび実機 Android端末または仮想デバイスの設定が既に完了しているものとします。 【目標】 ProgressDialog を使って、タイマアプリをつくること。文字列を出力する TextView, 画

像を出力する ImageView, 処理を選択する RadioButton も利用します。

1 プロジェクトの生成

(1) ADT起動

1-(2)で展開し、移動したフォルダを開くと、”eclipse”というフォルダがあります。 さらに、”eclipse”フォルダを開き、”eclipse”または”eclipse.exe”,

“eclipse.app”というファイルのアイコンをダブルクリックしてください。  最初に Workspace (作成したプログラムや画像ファイルを保存する場所)のパス

(ファイルシステム上の位置)を確認するダイアログが開きます。通常は、ホームディレク トリ内の書類(Documents)フォルダにある workspace というフォルダに設定されます。今回 は[OK]をクリックします。

(2) デバイスの起動

 アプリを実機で動作させるには、USB ケーブル等でパソコンに接続します。

 実機ではなく仮想デバイス上でアプリを実行する場合には、仮想デバイス(AVD)を起動し ます。

 Eclipse (ADT)のメニューから[Window]-[Android Virtual Device Manager]をク リックします。

 起動したい仮想デバイス(Android Virtual Device)をクリックして 選択してから[Start...]をクリックします。

 左図のように設定して、[Launch]をクリックします。

(3) プロジェクト作成

 [File]-[New]-[Android Application Project]をクリック

して、プロジェクトを生成します。

Application Name : ProgressDialogTimer Activity Name : ProgressDialogTimer

その他の部分は変更せず、[Next >]。

(2)

<2>

(4) プロジェクトのビルドと起動

 ここまでの操作で、画面に”Hello World”と出力されるプログラムが自動的に作成され ました。これをビルドしてから仮想デバイスまたは実機で実行してみましょう。

ア Run Configurarions設定

[Run]-[Run Configurations...]をクリックします。

i (開発環境構築時に一回だけ行う操作)

[Android Application]をダブルクリックして、[New_configuration]を作ります。

テキストボックスName:EXECと入力します。

ii (プロジェクトごとに行う操作)

テキストボックスProject:ProgressDialogTimerと入力します。

イ 起動

[Run]-[Run Configurations...]をクリックします。

[Android Application]をクリックして、[New_configuration]をクリックします。

右下の[Run]をクリックすると、アプリが仮想デバイスまたは実機上で実行されます。

2 画像の追加と表示

(1) ImageViewの追加

“Hello world!” という TextView の上に ImageView を配置します。 ImageView のアイコンは、[Palette][Images&Media]内にあります。

[ImageView]のアイコンを”Hello world!”の上にドラッグ&ドロップします。

(2) 画像ファイルのリソースへの 登録

ドロップした後、画像のリソー スを選択します。ここでは、

[ic_launcher]をクリックし

(3)

(3) 画像の表示確認

[File]-[Save All]をクリックして、ファイルを保存します。 [Run]-[Run Configurations...]をクリックします。 [Android Application]をクリックして、

[New_configuration]をクリックします。

右下の[Run]をクリックすると、アプリが仮想デバイスまたは実機上で実行さ

れます。

3 画像をクリックすると何かが起きる

 画像をクリックすると、”Hello world!”が”Ready”に変わるプログラムを追加してみます。

(1) イベント処理の追加(XMLへ)

 左にある[Package Explorer]内の[res]→[layout]の順にダブルクリックして開きます。 (開いている場合は必要ありません)この中にある

[activity_progress_dialog_timer.xml]をダブルクリックして開きます。

 [activity_progress_dialog_timer.xml]タブをクリックして、XML ファイルの ImageView セクションを次のように編集します。斜体部分の行を追記します。

<ImageView

android:onClick="startTimer"

android:id="@+id/imageView1"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/textView1" android:layout_centerHorizontal="true" android:src="@drawable/ic_launcher" />

(2) イベント処理のコードを (ProgressDialogTimer.java) へ追加

 左にある[Package Explorer]内の[src]→[com.example.progressdialogtimer]

の順にダブルクリックして開きます。(開いている場合は必要ありません)この中にある

[ProgressDialogTimer.java]をダブルクリックして開きます。

 

ProgressDialogTimer

クラスを次のように編集します。斜体部分の行を追記します。

ア TextView用変数の定義

TextView を、タイマー内のあらゆる関数から呼び出し可能にするため、変数を定義します。

public class ProgressDialogTimer extends Activity {

private TextView textview;

@Override

protected void onCreate(Bundle savedInstanceState) {

(4)

<4> ることを教えてくれています。

 そこで、この小さなアイコンをクリックすると、エラー訂正のヒントが表示されます。  ここでは、最上部のImport 'TextView'をクリックします。

 これにより、TextView の機能が追加されます。  

イ TextViewを扱うための情報を読み込む

 ”Hello world!”という文字列が格納されているのは TextView という部品です。これをプ ログラムから制御するための情報を取得するために、onCreate メソッドの中に下記の斜体字 の部分を追記します。

@Override

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

setContentView(R.layout.activity_progress_dialog_timer);

textview = (TextView) findViewById(R.id.textView1);

}

ウ 画像をクリックしたときに実行されるメソッド”startTimer”を定義

 protected void onCreate(Bundle savedInstanceState)メソッドと public boolean onCreateOptionsMenu(Menu menu)メソッドの間に、次のコードを追記します。

@Override

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

setContentView(R.layout.activity_progress_dialog_timer); textview = (TextView) findViewById(R.id.textView1); }

public void startTimer(View v) {

textview.setText("Ready.");

// TextView

を“

Ready.”

に設定

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

 上記のように追記すると、またもや、小さな電球に x 印がついたアイコンが表示されます。 この小さな電球 x アイコンをクリックすると、エラー訂正のヒントが表示されます。

 ここでは、最上部のImport 'View'をクリックします。  これにより、View の機能が追加されます。

(3) アプリの実行確認

[File]-[Save All]をクリックして、ファイルを保存します。 [Run]-[Run Configurations...]をクリックします。

[Android Application]をクリックして、[New_configuration]をクリックします。

右下の[Run]をクリックすると、アプリが仮想デバイスまたは実機上で実行されます。

(5)

4 プログレスダイアログを使ったタイマー

(1) ProgressDialogのインスタンスの作成と設定 ア ProgressDialogを表示するコードの追記

Progress Dialog をタイマー内で表示するため、[ProgressDialogTimer.java]内の startTimer関数内にコードを追記します。

public void startTimer(View v) { textview.setText("Ready.");

//

final ProgressDialog progress = new ProgressDialog(this);

//

 ダイアログ生成

progress.setTitle("Timer"); //

 タイトル

progress.setMessage("Please Wait");

//

メッセージ

 

progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

//

 水平線形のプログレスダイアログ

progress.setCancelable(true);

//

戻るボタンでキャンセル可能

progress.setMax(TimeLimit); //

バーの最大値は

TimeLimit

progress.show(); //

ダイアログを表示

}

 行の左端に X 印の小さな電球のアイコン が表示されます。これは、なにかエラーがあ ることを教えてくれています。

 そこで、この小さなアイコンをクリックすると、エラー訂正のヒントが表示されます。  ここでは、最上部のImport 'ProgressDialog'をクリックします。

 これにより、ProgressDialog の機能が追加されます。

 このアプリを実行すると、いつまでもダイアログが表示されたままです。戻るボタンをク リックするとダイアログボックスが消えます。

 

イ Countdown Timerの追加

 これまでの変更により Progress Dialog は表示されました。しかし、ダイアログはいつま でも表示されたままです。そこで、タイマ機能を追加して、決められた時間だけダイアログ ボックスが表示されるようにします。

 先ほど入力したコードの続きに追記してきます。(斜体字の部分を入力します。)

private int TimeLimit = 5000; //

制限時間(単位は

ms

public void startTimer(View v) { textview.setText("Ready."); //

final ProgressDialog progress = new ProgressDialog(this); // ダイアログ生成 progress.setTitle("Timer"); // タイトル

progress.setMessage("Please Wait"); // メッセージ

progress.setCancelable(true); // 戻るボタンでキャンセル可能にする progress.setMax(100); // プログレスバーの最大値を100とする progress.show(); // ダイアログを表示

//

new CountDownTimer(TimeLimit, 100) {

//

指定間隔(

100ms

)で

TimeLimit

からカウントダウン

(6)

<6>

progress.dismiss(); //

プログレスダイアログを終了

}

public void onTick(long amount) { //

指定間隔で実行

progress.setProgress((int) (TimeLimit - amount));

}

}.start(); // CountDownTimer

の開始

}

 行の左端に X 印の小さな電球のアイコンが表示されます。この小さなアイコンをクリック すると、エラー訂正のヒントが表示されます。

 ここでは、最上部のImport 'CountDownTimer'をクリックします。  これにより、カウントダウンタイマの機能が追加されます。

(2) アプリの実行確認

[File]-[Save All]をクリックして、ファイルを保存します。 [Run]-[Run Configurations...]をクリックします。 [Android Application]をクリックして、

[New_configuration]をクリックします。

 右下の[Run]をクリックすると、アプリが仮想デバイスまたは実機上で実

行されます。

 画像をクリックすると、文字列が”Ready.”に変わり、Progress Dialog が表示されます。カウントダウンが終了すると、ダイアログボックスが閉じます。

 戻るボタンのクリックやダイアログ外をクリックするとカウントダウンを中断し、ダイアログボックスを 閉じます。

5 ラジオグループ、ラジオボタンを追加して、制限時間を選べるようにする

 これまでのコードでは、5 秒でタイマが切れました。本章では、タイマが切れる時間を5 秒, 10秒, 3 分のうちから選べるようにしてみましょう。いくつかの選択肢から値を選ぶには RadioGroup と RadioButton を使います。

(1) ラジオグループ(RadioGroup)追加(activity_progress_dialog_timer.xml へ)  左にある[Package Explorer]内の[res]→[layout]の順

にダブルクリックして開きます。(開いている場合は必要 ありません)この中にある

[activity_progress_dialog_timer.xml]をダブル

クリックして開きます。

 [Graphical Layout]タブをクリックします。 RadioGroup のアイコンは、

[Palette]の[Form Widgets]内にあります。 [RadioGroup]のアイコン を

TextView (Hello world!)の下にドラッグ&ドロップしま す。

(2) ラジオボタン(RadioButton)を設定

 上記操作に続いて[activity_progress_dialog_timer.xml]タブをクリックします。  3つの RadioButton の android:text の値を次の斜体字のように変更します。

<RadioButton

android:id="@+id/radio0"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true"

android:text="5sec" />

(7)

android:id="@+id/radio1"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="10sec" />

<RadioButton

android:id="@+id/radio2"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="3min" />

 変更したら、[File]-[Save]で保存しておいてください。

(3) ラジオボタンの処理(制限時間変更)を追加([ProgressDialogTimer.java]へ)

 [ProgressDialogTimer.java]をエディタで開きます。

ア イベントリスナ機能の追加と RadioGroup, RadioButton 変数の宣言

 ProgressDialogTimerクラス内で、斜体字のように RadioGroup と RadioButton 用のコード を追加します。

public class ProgressDialogTimer extends Activity

implements RadioGroup.OnCheckedChangeListener {

private TextView textview; // 主画面上の文字列の変数

private RadioGroup radiogroup;

//

主画面上の

RadioGroup

の変数

private RadioButton radio0, radio1, radio2;

//

主画面上の

RadioButton0

2

の変数

@Override

protected void onCreate(Bundle savedInstanceState) { (以下略)

 上記コードの追加により、行の左端に X 印の小さな電球のアイコンが表示されます。この 小さなアイコンをクリックすると、エラー訂正のヒントが表示されます。

implementsの行では、Add unimplemented methodsをクリックします。

 次にRadioGroupの行に対しては最上部のImport 'RadioGroup'をクリックします。  最後に、RadioButtonの行では、Import 'RadioButton'をクリックします。

 これにより、ラジオボタンの機能が追加されます。

イ ラジオボタンの設定を追加

 onCreate関数を以下のように変更します。

@Override

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

setContentView(R.layout.activity_progress_dialog_timer);

textview = (TextView) findViewById(R.id.textView1); // 文字列 //

radiogroup = (RadioGroup) findViewById(R.id.radioGroup1);

//

ラジオグループ

radio0 = (RadioButton) findViewById(R.id.radio0);

//

ラジオボタン

0

radio1 = (RadioButton) findViewById(R.id.radio1);

//

ラジオボタン

1

radio2 = (RadioButton) findViewById(R.id.radio2);

(8)

<8>

//

radiogroup.setOnCheckedChangeListener(this);

//

ラジオグループが変更されたことを検出するイベントリスナを設定

radiogroup.check(radio0.getId());

//

最初の状態ではラジオボタン

0

をチェックする。

}

ウ コールバックメソッドの追加

 ProgressDialogTimer クラス内に、ラジオボタンが変化したときに呼び出される関数=

コールバックメソッドを追記します。onCheckedChanged関数は、

ProgressDialogTimer.java の最後の方にあります。

@Override

public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub

if (checkedId == radio0.getId()) {

TimeLimit = 5000;//

ラジオボタン

0

のとき制限時間

5sec

} else if (checkedId == radio1.getId()) {

TimeLimit = 10000;//

ラジオボタン

1

のとき制限時間

10sec

} else if (checkedId == radio2.getId()) {

TimeLimit = 180000;

//

ラジオボタン

2

のとき制限時間

180sec (3min)

} else {

TimeLimit = 1;

}

}

(4) アプリの実行確認

[File]-[Save All]をクリックして、ファイルを保存します。 [Run]-[Run Configurations...]をクリックします。

[Android Application]をクリックして、[New_configuration]をクリックします。

 右下の[Run]をクリックすると、アプリが仮想デバイスまたは実機上で実行されます。

参照

関連したドキュメント

と歌を歌いながら止まっています。電気きかん車が、おけしようを

タップします。 6通知設定が「ON」になっ ているのを確認して「た めしに実行する」ボタン をタップします。.

えて リア 会を設 したのです そして、 リア で 会を開 して、そこに 者を 込 ような仕 けをしました そして 会を必 開 して、オブザーバーにも必 の けをし ます

ダウンロードしたファイルを 解凍して自動作成ツール (StartPro2018.exe) を起動します。.

Q-Flash Plus では、システムの電源が切れているとき(S5シャットダウン状態)に BIOS を更新する ことができます。最新の BIOS を USB

サービス時間: 平日 9:00 ~ 17:00 (土日祝を除く ).. 納品書に記載のある「製品にアクセスする」ボタンをクリックし、 My HPE Software Center にログインを頂き

パキロビッドパックを処方入力の上、 F8特殊指示 →「(治)」 の列に 「1:する」 を入力して F9更新 を押下してください。.. 備考欄に「治」と登録されます。

関西学院大学手話言語研究センターの研究員をしております松岡と申します。よろ