2010年04月27日

その3 ボタンを押した時の動作をプログラミング

さて、レイアウトが完成しましたので、いよいよAndroidアプリ開発のプログラミングです。ボタンを押した時の動作を考えてみます。

スタートボタンを押すと、タイマーが動き出し、ストップボタンでタイマーが停止、リセットボタンでタイマーが0に戻るということにします。

プログラムのコツですが、部分的に作っていき、動作を

Sponsored Link
確認しながら進めます。

左のパッケージエクスプローラーからStopWatch.javaをダブルクリックすると、コードを書く画面が開きます。
自動的にメインクラスが書かれています。

04272.jpg

最初はレイアウトで使用したクロノメーター(Chronometer chronometer)、ボタン(Button01-03)を定義します。JAVAでは最初に使う部品を定義します。(全コードは下記に記載してあります。)

private Chronometer chronometer;
private Button startbtn;//スタートボタン
(などなど・・)

次に
レイアウト画面で作成した部品と繋ぎ合わせます。
プログラムの中で、どのレイアウト部品を使用するか定義します。

chronometer = (Chronometer)findViewById(R.id.Chronometer01);
startbtn = (Button)findViewById(R.id.Button01);

findViewByIdというメソッドの次にレイアウト画面のidを書きます。レイアウト画面と見比べてみると理解しやすいです。

ここは、覚える必要もなく、こういうふうに書くくらいで良いです。慣れてくれば問題ありません。プログラミング初心者の時には、いろいろな人が書いてくれたコードをコピーして動作確認して勉強します。これを繰り返していくうちに覚えていきます。

いよいよ、ボタンを押した時の動作を書きます。

//スタートボタンクリック
startbtn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

chronometer.start(); //スタート

}


次のコードを全コピーして貼り付けてください。

//ここからコピー

package com.test.my;

import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;


public class StopWatch extends Activity {
private Chronometer chronometer;
private Button startbtn;//スタートボタン
private Button stopbtn;//ストップボタン
private Button resetbtn;//リセットボタン

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//レイアウト画面の部品を指定する。
chronometer = (Chronometer)findViewById(R.id.Chronometer01);
startbtn = (Button)findViewById(R.id.Button01);
stopbtn = (Button)findViewById(R.id.Button02);
resetbtn = (Button)findViewById(R.id.Button03);

//最初にタイマーリセット
chronometer.setBase(SystemClock.elapsedRealtime());

//スタートボタンクリック
startbtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
chronometer.start(); //スタート
}
});

//ストップボタンクリック
stopbtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
chronometer.stop();
}
});

//リセットボタンクリック
resetbtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//リセット
chronometer.setBase(SystemClock.elapsedRealtime());
}
});
}
}

//ここまでコピー

エラーがないことを確認してから実行してください。

次のように動けば、タイマー完成です。ボタンを押して動作を確認してみましょう。

04273.jpg


【送料無料】15歳からはじめるAndroidわくわくゲ-ムプログラミング教室

Sponsored Link
posted by Kunihiko at 14:04 | Comment(1) | TrackBack(0) | ストップウォッチを作る | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
はじめまして
のなめと申します。

わかりやすくていつも参考にさせて頂いております!

その3 ボタンを押した時の動作をプログラミングのページなのですが、
スタートボタンクリック時にリセット処理をされていないので、
ボタンを押した時のタイムはアプリを起動した時からのものになってしまいました。
//スタートボタンクリック
startbtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
chronometer.start(); //スタート

chronometer.setBase(SystemClock.elapsedRealtime());//追加 リセット処理


}});
↑私はこれで解決しました!蛇足で申し訳ないです・・・

Posted by のなめ at 2011年11月07日 04:44
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/147957366

この記事へのトラックバック


現在、このブログは更新を停止しています。
最新の内容は次のブログでお願いします。


新ブログ
趣味は長生きと秘密
http://home.mynsworld.com/